Follow us on Twitter for updates. Our blog highlights the best new features and changes.
Newest Release
8.2.1 - 18 Feb 2019
PSPDFKitUI
Changed
Improves the internal annotation username state handling which caused issues when programmatically dismissing the annotation username alert. (#18905)
Changed
Improve the logic to properly inset the annotation toolbar when the page grabber is used. (#18685)
Fixed
Fixes an issue that could result in blank pages after scrolling or device rotation. (#18848, #18682)
Fixed
Fixes an issue where changing the appearance mode would not be reflected on the currently visible pages in page curl mode unless the page was changed. (#18869, Z#12698)
Fixed
Fixes an issue where keyboard was not dismissed in favor of a form field popover. (#6523)
Fixed
Fixes the half modal drag indicator appearing above the font picker search field where it didn’t fit well. (#18881)
PSPDFKit
Changed
Improves JavaScript error validation and error reporting. (#18899)
Changed
Automatically triggers a clearCache when the data directory is set. (#18898)
Fixed
Fixes an issue where -[PSPDFDocument+DataDetection objectsAtPDFRect:pageIndex:options:]
could return a nil annotations array. (#18846)
Fixed
Fixes an issues where a page would sometimes fail to render when scrolling through a document quickly. (#18571)
Previous Releases
8.2.0 - 7 Feb 2019
See the announcement post. PSPDFKit 8.2 for iOS is the last minor version to support iOS 10. PSPDFKit 8.3 for iOS will raise the deployment target to iOS 11, allowing us to concentrate our development and support efforts.
PSPDFKitUI
Removed
Deprecates -[PSPDFDocumentEditorToolbarController toggleSaveActionSheet:presentationOptions:completionHandler:]
in favor of -[PSPDFDocumentEditorToolbarController toggleSavingConfirmationViewController:presentationOptions:completionHandler:]
. (#17589)
Removed
Deprecates -[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:willShareFiles:]
and adds a new delegate method to set a custom filename for the generated files when sharing documents. (#18781)
Removed
Deprecates PSPDFFlexibleToolbarContainerView.flickToCloseEnabled
which allowed to close the toolbar by flicking down on it while dragging. (#17893)
Removed
Deprecates bookmarkString
on PSPDFBookmarkCell
, since the cell now displays multiple labels. (#10916)
Added
Adds additional bookmark UI features and improves the overall bookmark cell design. (#10916)
Added
Adds a smoother and more delightful annotation inspector on iPhone that works as a proper sliding panel to better align with modern iOS design. (#17963)
Added
Adds shouldStartEditingBookmarkNameWhenAdding
on PSPDFBookmarkViewController
to disable the new behavior where an added bookmarks' name is automatically made editable. (#10916)
Added
Adds -[PSPDFConfiguration redactionUsageHintEnabled]
to determine if the redaction usage hint should be shown the first time the redaction tool is selected. (#18437)
Added
Adds textSelectionMenuItemForCreatingAnnotationWithType:
to get a text selection annotation creation menu item, to make it easier to customize the text selection menu. (#17635)
Added
Adds a new default annotation toolbar configuration, to make the toolbar show an appropriate amount of items, in more cases. (#17322)
Added
Adds a subclassing hook for customizing the alert controller shown when the document editor is going to be dismissed. (#17589)
Added
Adds view state restoration support for the document editor toolbar. (#18467)
Changed
Improves automatic font size calculation for text widgets. (#18095)
Changed
Improves bounding box calculation used for creating text markup and redaction annotations in the UI to more closely reflect the actual text frames, and to not accidentally mark up adjacent characters. (#17675, #16629)
Changed
Improves conflict resolution handling while the view controller is not visible. (#18159)
Changed
Improves memory usage when scrolling through pages quickly in a large document. (#18460)
Changed
Improves the interaction for form fields that contain both the DoNotScroll and auto-sizing font flags. (#18254)
Changed
Improves the way default page templates are handled on PSPDFNewPageViewController
. (#18239)
Changed
Changes the condition for determining if all text selection markup creation menu items should be displayed, from checking if the current device is an iPad, to checking if the view is shown in a regular horizontal size class. (#18117)
Changed
Changes the condition for determining if the markup style menu items should be shown in a submenu, from checking if the current device is an iPad, to checking if the view is shown in a regular horizontal size class. (#18117)
Changed
Imposes support for setting the flexible toolbar position via the toolbarPosition
property. The set value is now prioritized over any preserved user state. (#18467)
Changed
Padding for text selection is no longer applied on the model level for glyphs, but instead only on the UI level for the text selection view. (#18036)
Changed
The minimum font size is now 4px, the maximum is 200px. (#18485)
Fixed
Fixes a potential assertion when a HUD toggle is scheduled but the view is removed during that time. (#18670)
Fixed
Fixes an issue in Document Permissions screen which allowed the user to save modified permissions without setting a Document Owner password. Previously, the permissions were not getting actually updated, however the UI might have led the user to believe so. (#18496)
Fixed
Fixed
Fixes an issue where a modally presented PSPDFViewController
could be dismissed after tapping on an annotation from the annotations list. (#18643)
Fixed
Fixes an issue where a warning was needlessly logged when the license did not include the Annotation Editing component. (#18448)
Fixed
Fixes an issue where backward and forward buttons were not updated correctly. (#18523)
Fixed
Fixes an issue where drawing in the signature UI was not following the touch location. (#18522)
Fixed
Fixes an issue where drawing or creating text markups didn't work when scrolling to the next or previous page after activating the tool. (#18715)
Fixed
Fixes an issue where form fields that were marked as multiline but had the doNotScroll
flag set and are really short would fail to accept input. (#16965)
Fixed
Fixes an issue where highlighting text using markup annotations did not work reliably after changing page using the thumbnail scrubber bar. (#18613)
Fixed
Fixes an issue where image stamp annotations could be inserted in the wrong spread in double page mode. (#18654)
Fixed
Fixes an issue where merging markup annotations or converting a markup to a different type caused the bounding box to change unexpectedly. (#18092)
Fixed
Fixes an issue where selected text and annotations were shown on an external screen while screen mirroring, which caused some UI glitches. (#18570)
Fixed
Fixes an issue where the UIMenuController
for selected annotations was not positioned correctly. (#18186)
Fixed
Fixes an issue where the delegate
of PSPDFSignatureSelectorViewController
was overriden, when set before the view appeared. (#18431)
Fixed
Fixes an issue where the annotation inspector popover was not positioned correctly if the annotation was partially off screen. (#18453)
Fixed
Fixes an issue where the document on an external screen got stuck while screen mirroring when re-connecting a display while a document was visible. (#18570)
Fixed
Fixes an issue where the rect of newly added stamp annotations in double page mode was incorrect. (#18654)
Fixed
Fixes an issue where the user interface view could get stuck in a visible or hidden state, when switching pages while editing a free text annotation. (#18541)
Fixed
Fixes an issue where unsaved ink annotations were rendered incorrectly after rotating the page. (#18230)
Fixed
Fixes customization of the subject when sharing documents via email using the system share sheet. (#18099)
Fixed
Fixes support for dynamic document editor toolbar button layouts by correctly invoking and honoring the -[PSPDFDocumentEditorToolbar buttonsForWidth:]
subclassing hook. (#18669)
PSPDFKit
API
Changes the return type of -[PSPDFBookmarkManager addBookmarkForPageAtIndex:]
from void
to PSPDFBookmark *
. (#10916)
API
Deprecates PSPDFDocumentSaveOptionForceRewrite
in favor of newly added PSPDFDocumentSaveOptionForceSaving
and PSPDFDocumentSaveOptionStrategy
. (#18142)
Removed
Deprecates -[PSPDFDocument applyInstantJSONFromDataProvider:toDocumentProvider:error:]
in favor of a version that adds a lenient
parameter, that controls the behavior when the JSON is (partially) invalid. (#18630)
Added
Adds PSPDFOriginalFontNameAttributeName
to improve handling of fonts in free text annotations where the font is not readily available. In addition, setting an annotation’s fontName
now preserves the fontSize
. (#18421)
Added
Adds localizedActionType
to PSPDFAction
, and changes some of the strings returned from localizedDescriptionWithDocumentProvider:
. (#10916)
Added
Adds support for cloudy borders in shape annotations and free text annotations via Instant JSON. (#18547)
Added
Adds support for multi-threaded rendering. (#18199)
Added
Adds support for stamp and free text annotation rotation in Instant JSON. (#18019)
Added
Adds support for the doc.removeField JavaScript API. (#18621)
Changed
Improves compatibility with 3rd-party SDKs that use Aspects to hook into message passing. (#18793)
Changed
Improves handling of a document’s documentProviders
being recreated, which happens when calling clearCache
and in low-memory situations. (Z#12006)
Changed
Improves handling of failures to add annotations to a given annotation provider. Annotations that could not be attached to the document are now not included in the return value of an annotation provider's -addAnnotations:options:
method. (#16326)
Changed
Improves initial text parsing performance. (#18534)
Changed
Improves performance when looking up fonts. (#17981)
Changed
Improves the locking mechanism for password-protected documents so that calling -[PSPDFViewController reloadData]
won't reload an explicitly-locked document. (#18561)
Changed
Improves the performance of documents which apply masks to text objects. (#15497)
Changed
Allow the use of -[PSPDFDocumentProvider setRotationOffset:forPageAtIndex:]
on providers with custom annotation providers like XFDF or PSPDFKit Instant. (#17603)
Changed
Fixed
Fix an issue in full-text search that could cause a deadlock during indexing. (#18750)
Changed
Padding for glyph frames is no longer applied in PSPDFBoundingBoxFromGlyphs
and PSPDFRectsFromGlyphs
. PSPDFDefaultTextPaddingFactor
has been removed as well. (#18036)
Changed
The documentProvider
property on PSPDFAnnotation
is now readonly. (#18578)
Changed
Updates the Botan library to version 2.9.0. (#18271)
Changed
Use app name in JavaScript alerts. (#18529)
Fixed
Fixes a bug where annotations parsed from XFDF would be displayed incorrectly on a rotated page. (#17603)
Fixed
Fixes a problem importing/exporting color values. This could lead to unnecessary appearance stream regeneration. (#18428)
Fixed
Fixes a rare deadlock when using ink annotations from multiple threads. (#18674)
Fixed
Fixes an issue when opening a rotated Image Document. (#17791)
Fixed
Fixes an issue where creating text markup annotations via +textOverlayAnnotationWithRects:boundingBox:pageIndex:
ignored the bounding box parameter and used the union of the rects as bounding box instead. (#18092)
Fixed
Fixes an issue where rendering a page with lot of annotations on a large zoom scale would cause memory usage to spike. (#18224)
Fixed
Fixes an issue with Image Documents when images have an orientation. (#17791)
Fixed
Fixes an issue with Image Documents when saving back to an already rotated image. (#18483)
Fixed
Fixes an issue with accessing the document metadata after receiving a low memory warning. (#18769)
Fixed
Fixes an issue with render cancellation when using a document that contains multiple data providers. (#18563)
Fixed
Fixes delegates not being correctly called for PSPDFDocumentEditorDelegate
for some editor actions. (#18531)
Fixed
Fixes text markup annotations being created incorrectly on rotated pages with text that appears the right way up. (#18219, Z#11941)
Instant
Changed
Improves the display of and interaction with image annotations that have not been loaded yet. (#17004)
Changed
Enables support for creating and modifying stamp annotations. (#18773)
Changed
Hide Sharing action in PSPDFInstantViewController
. Instant document cannot be shared. (V#1883)
Fixed
Fixes an issue where stamp annotations would lead to a failed assertion. (#17911)
Fixed
Fixes an issue where underline annotations would not sync properly. (#18030)
Examples
Added
Adds a PSPDFCatalog example illustrating how to disable bouncing for the document scroll and zoom views. (#18765)
Added
Adds an example in Swift for using the Apple Maps widget in a PDF page. (#18067)
Changed
Updates Catalog example to better illustrate how to customize the file names of documents being shared. (#18574)
8.1.3 - 15 Jan 2019
PSPDFKitUI
Added
Adds a new subclassing hook to PSPDFDocumentSharingViewController
to customize the mail compose view controller when sharing to the Email destination. (#17955)
Changed
Improves change tracking to prevent presentedItemDidChange
loops that could prevent saves with certain system file provider extensions. (#18409)
Changed
Publicly declares PSPDFFlexibleToolbarContainerDelegate
conformance in PSPDFDocumentEditorViewController
. (#18451)
Fixed
Fixes an issue in the Security/Permissions screen where the toolbar buttons changed prematurely. (#18261)
Fixed
Fixes an issue in the document editor where adding a new page after reordering pages would undo the reordering. (#18492)
Fixed
Fixes an issue that prevented tapping buttons on the document editor toolbar after long-pressing the thumbnail of a single page document. (#18181)
Fixed
Fixes an issue where the size of the generated image for sharing changed according to the scale of the device screen. (#18217)
Fixed
Fixes an issue where the swipe to delete action in the annotations list only worked for the first entry. (#18207)
Fixed
Fixes an issue where unsaved Free Text annotations did not render correctly after rotation of a page. (#18179)
Fixed
Fixes an issue that prevented the UI for sharing documents from being presented. (#18039)
Fixed
Fixes a potential exception when dismissing the document info popover. (#18215)
Fixed
Fixes an exception when calculating the tab bar index with a width of zero. (#18227)
PSPDFKit
Added
Adds a unique identifier uuid
to PSPDFAnnotation
. (#17635)
Changed
Improves error reporting when creating an image for a page of a document fails. (#18212)
Fixed
Fixes an issue when invalid Image Documents are read back. (#18110)
Fixed
Fixes an issue where the redaction of a monochrome image may change its color unexpectedly. (#18176)
Fixed
Fixes an issue with some documents using large amounts of memory when searching and navigating. (#18118)
8.1.2 - 20 Dec 2018
PSPDFKitUI
Added
Adds -[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:shouldShareFiles:toDestination:]
to be able to halt the sharing process in case you want to handle the generated files yourself. (#17957)
Fixed
Fixes a rare exception when doing programmatic scrolling on iOS 10. (#18048)
Fixed
Fixes an assertion when the page view is about to be reused, but tries to finalize displaying the multimedia gallery. (#18060)
Fixed
Fixes an exception when trying to invoke share in the web view controller, when no URL is set. (#18026)
Fixed
Fixes an issue where PSPDFDrawView
could not be subclassed and overridden. (#18157)
Fixed
Fixes an issue where drawing strokes might have been offset when resizing the app or rotating the device. (#17320)
Fixed
Fixes an issue where drawings could be offset from the actual touch location on very tall or wide pages. (#17769)
Fixed
Fixes an issue where the values for overlayText
and repeatOverlayText
were not persisted in the Redaction Annotation Inspector. (#17694)
Fixed
Fixes an issue where video preview generation could cause the main thread to stutter. (#17802)
Fixed
Fixes an issue with closing a tab via the close button and a keyboard shortcut at the same time. (#18104)
Fixed
Fixes an issue with image cropping when the image is invalid. (#18103)
PSPDFKit
Changed
Improves file asset handling for invalid PDF documents. (#18102)
Changed
Improves handling of invalid documents when enqueueing them in PSPDFLibrary
. (#18106)
Changed
Improves handling of malformed documents when parsing the extended graphics state. (#18057)
Changed
Improves the API documentation for PSPDFUsernameHelper
and PSPDFDocument.defaultAnnotationUsername
. (#18031)
Changed
Improves thread handling and exiting when an app termination event is detected. (#18044)
Changed
Improve app termination handling when background library indexing operations are in flight. (#18056)
Fixed
Fixes a crash parsing text on a very small number of documents. (#18032)
Fixed
Fixes an assertion that might be triggered on document deallocation when the undo controller hasn't been cleaned up yet. (#18062)
Fixed
Fixes an issue where PSPDFLibrary
would return incorrect results when searching within documents that contained Unicode surrogate pairs (like Emoji) in their text. (#3292)
Fixed
Fixes an issue where redacting certain kinds of vector graphics may incorrectly redact part of the background. (#18071)
Fixed
Fixes an issue where redacting certain kinds of vector graphics may result in a lot of memory consumption. (#18065)
Fixed
Fixes an issue where the JavaScript method Doc.print may not work correctly. (#18111)
Fixed
Fixes an issue where the signature overlay may show incorrect text in non-Western languages. (#17918)
Fixed
Fixes an issue with file change tracking that could trigger to multiple conflict resolution messages or a document reload loop. (#18090, #18133)
Fixed
Fixes some visualization issues with markup annotations, specially on rotated pages. (#12927, #13162, #17713, #17889, #18002, #18024)
8.1.1 - 7 Dec 2018
PSPDFKitUI
Added
Adds support for unlocking an encrypted document when screen mirroring, as soon as the document is unlocked on the device. (#17990)
Changed
Makes the draw gesture recognizer resilient against an unexpected number of touches. (#18005)
Fixed
Fixes a crash that could occur after deleting pages in the document editor. (#17987)
Fixed
Fixes a potential exception when restoring view state for the document editor, before it is loaded. (#17984)
Fixed
Fixes an exception that might occur when the document editor loads images in the background while the user removes pages from the document. (#17985)
Fixed
Fixes an incorrect license check assertion that could be triggered when transitioning between the document and thumbnail view modes. (#17994)
Fixed
Fixes an issue causing an infinite recursion when unlocking an encrypted document with screen mirroring enabled. (#17990)
PSPDFKit
Changed
Improves strikeout annotation rendering, by making the line a little bit thicker and the baseline a little bit below the vertical center. (#17889)
Fixed
Fixes a rare exception when deallocating undoable objects in multiple threads. (#17983)
8.1.0 - 6 Dec 2018
PSPDFKitUI
API
Deprecates the PSPDFPageView
methods convertViewPointToPDFPoint:
, convertPDFPointToViewPoint:
, convertViewRectToPDFRect:
, and convertPDFRectToViewRect:
in favor of the clearer and more versatile pdfCoordinateSpace
property. (#12053)
API
Deprecates PSPDFAnnotationStateManager.drawingInputMode
. Set the state
to PSPDFAnnotationStringEraser
instead. (#17458)
Added
Adds -scrollsToPageAtIndex:document:animated
to the PSPDFViewModePresenter
protocol. (#15136)
Added
Adds allowEditing
, rightActionButtonItems
, leftActionButtonItems
to PSPDFDocumentInfoViewController
and PSPDFDocumentSecurityViewController
to allow customizing the interface. (#16429)
Added
Adds visiblePageIndexes
property to PSPDFViewModePresenter
. (#15136)
Added
Adds a Cancel button to discard changes in PSPDFDocumentInfoViewController
and PSPDFDocumentSecurityViewController
. (#16790)
Added
Adds a PSPDFConfiguration
option, shouldAdjustDocumentInsetsByIncludingHomeIndicatorSafeAreaInsets
, to enable the document view to ignore the home indicator when calculating safe area insets. (#17849)
Added
Adds a pdfCoordinateSpace
property on PSPDFPageView
as the new preferred way to convert between PDF page and view coordinates. (#12053)
Added
Adds a default conflict resolution UI to PSPDFViewController
, PSPDFMultiDocumentViewController
and PSPDFTabbedViewController
via a new PSPDFConflictResolutionManager
class. (#13367)
Added
Adds support for all three possible double-tap actions from the second-generation Apple Pencil (UIPencilInteraction
). (#17458)
Added
Adds support for redacting more elements, like images, paths, annotations and forms. (#17002)
Added
Adds the ability to share multiple pages of a document as images. (#17020)
Added
Adds a pencilInteraction
property and annotationStateManagerDidRequestShowingColorPalette:
delegate method on PSPDFAnnotationStateManager
to customize Apple Pencil double-tap actions. (#17458)
Changed
Improves flexible toolbar behavior, by disabling user interaction on its contentView
while dragging it, to not cause UI glitches in case a button tap would present UI. (#17714)
Changed
Improves performance when scrolling in the thumbnail list, especially for complex documents. (#17337)
Changed
Improves the Document Editor experience on iPhones. (#17613)
Changed
Improves the descriptions for errors that happen when sharing documents. (#17774)
Changed
Improves the experience on the Document Editor when reordering pages. (#17838)
Changed
Improves the page selection experience when sharing multiple documents at once. (#17138)
Changed
Improves the screen mirroring experience and now properly syncs the configuration between the original and the mirrored view controller. (#17484)
Changed
Improves the sharing experience for documents that don't have annotations. (#17220)
Changed
Prevents the annotation toolbar from being visible if the document is invalid after calling -[PSPDFViewController reloadData]
. (#17624)
Changed
Removing a page on PSPDFDocumentEditorViewController
no longer briefly displays a random number as the page number. (#17727)
Changed
Switching between the Thumbnails view and the Document Editor now preserves the position of the current page instead of scrolling to the first page. (#15136)
Changed
PSPDFDocumentSharingViewController
now correctly calls -[PSPDFViewControllerDelegate pdfViewController:shouldSaveDocument:withOptions:]
when sharing a document. (#16488)
Fixed
Fixes a potential exception when calculating collection view scroll offsets on iOS 10. (#17962)
Fixed
Fixes an issue when deleting pages in some documents on PSPDFDocumentEditorViewController
. (#17762)
Fixed
Fixes an issue when sharing PDF documents as images. (#17686)
Fixed
Fixes an issue when sharing single-page documents using certain sharing configurations. (#17705)
Fixed
Fixes an issue where text markup and redaction selection could mark up whole images. (#17360)
Fixed
Fixes an issue where the document info and security UI disabled editing for encrypted documents. (#17271)
Fixed
Fixes an issue where the multi-annotation selection tool started recognizing the pan gesture only after a long swipe when zoomed into the page a lot. (#17565)
PSPDFKit
API
The distinction between standard stamps and custom text stamps has been clarified with the following deprecations and replacements. If you previously used the stamp subject
consider whether you want a standard or custom text stamp. For standard stamps, subject
has been deprecated in favor of stampType
and the value of this property should usually be one of the values defined by the new PSPDFStampType
string enum. PSPDFKit will provide the localized title for standard stamps. localizedSubject
has been deprecated in favor of title
. Set the title
instead of stampType
for custom text stamps, where you provide a title that has already been localized or user-generated. subtext
has been deprecated in favor of subtitle
. (#15895)
API
-[PSPDFAnnotationSummarizer temporaryPDFFileURLForPages:completionBlock:]
is now only available on iOS. (#17109)
Added
Adds a custom tokenizer (PSPDFLibraryUnicodeTokenizerName
) that performs full Unicode case folding on the input text. (#16219)
Added
Adds better support for annotations with custom appearance streams. (#15658)
Added
Adds progress reporting and cancellation support to PSPDFAnnotationSummarizer
. (#17749)
Added
Adds support for conflict resolution options to PSPDFCoordinatedFileDataProvider
and PSPDFDocument
. This is achieved by levering APFS to create a lightweight file copy used for safe reading and potential later restoration. (#13367)
Added
Adds support for page bookmarks in compound documents. (#11008)
Changed
Improves compatibility with forms on malformed PDFs. (#17707)
Changed
Improves document features to reflect the current state of the document, by automatically updating them once an encrypted document has been unlocked. (#17271)
Changed
Improves error handling when saving a document fails. (#17685)
Changed
Improves performance on initializing a data provider. (#17897)
Changed
Improves tracking of external file changes. (#17946)
Changed
Changes the type of the keys of PSPDFDocumentPDFMetadata
to PSPDFMetadataName
. (#16790)
Changed
Log message sent from our render core can now be intercepted with the log handler. (#17732)
Changed
PSPDFDocumentXMPMetadata
and PSPDFDocumentPDFMetadata
now have failable document initializers and simply return nil if a document is not valid. (#17736)
Changed
PSPDFUndoController
now checks if an undo/redo operation can be performed and fails gracefully, instead of throwing an exception when undo/redo is called on an empty stack. (#17921)
Removed
Removes zooming in on search results on iPads. (#17260)
Changed
The disk cache is now invalidated when a device locale change is detected. (#17919)
Changed
The redaction feature now deletes annotations and form fields that intersect with a redaction annotation. (#17390)
Changed
PSPDFAnnotationSummarizer
no longer returns a nullable on its initializer. (#17109)
Fixed
Fixes a potential race condition when changing annotation properties from multiple threads at the same time. (#17690)
Fixed
Fixes a problem where some text in a PDF document may be redacted incorrectly. (#17699)
Fixed
Fixes an issue applying redactions on encrypted documents. (#17722)
Fixed
Fixes an issue looking up destinations in a names tree. This could lead to unresolvable link/outline destination. (#17206)
Fixed
Fixes an issue opening certain documents with invalid IRT fields. (#17797)
Fixed
Fixes an issue that may happen after copying a page using the document editor. (#17825)
Fixed
Fixes an issue when using PSPDFAppearanceCharacteristics
without an image. (Z#11409)
Fixed
Fixes an issue where XMP metadata was corrupted when saving password protected documents. This enables saving bookmarks into password protected documents. (#17238)
Fixed
Fixes an issue where changing the button caption property of a button from JavaScript code may not change the button appearance. (#17719)
Fixed
Fixes an issue where editing a form field in the middle may incorrectly move the cursor to the end. (#17926)
Fixed
Fixes an issue where keystroke range replacements were not caught by Javascript correctly. (#17106)
Fixed
Fixes an issue where some PDF documents may show an indefinite spinner and not render correctly. (#17446)
Fixed
Fixes an issue where the Javascript VM init sequence prevented errors from bubbling up to the user. (#17745)
Fixed
Fixes an issue where the overlay text of a redaction may not be in the correct place in some cases. (#17695)
Fixed
Fixes an issue where the wrong message is return when a certificate is expired. (#16727)
Fixed
Fixes an issue with importing/exporting vector stamps with InstantJSON. (#16690)
Fixed
Fixes issues when importing annotations on rotated pages using InstantJSON. (#17814)
Instant
Examples
Added
Adds a PSPDFCatalog example illustrating how to search and redact text. (#17755)
Added
Adds a PSPDFCatalog example illustrating how to write and attach Instant JSON binary data. (#17778)
Added
Adds an example on how to create a custom UI to enter a name for a bookmark when adding one. (#17886)
8.0.4 - 28 Nov 2018
PSPDFKitUI
Changed
Improves handling of annotations with invalid bounding boxes. (#17731)
Fixed
Fixes an issue with presenting annotation filtering progress during concurrent annotation edits. (#17730)
Fixed
Fixes an issue with the annotation toolbar and sub menus. (#17716)
PSPDFKit
Changed
Improves error handling in the text parser for corrupted PDF documents. (#17735)
Changed
Improves handling of embedded assets in annotations. (#17717)
Changed
Background library index tasks are now correctly stopped when an application will terminate event is sent. (#17733)
Changed
Improve NSCoder error handling support for PSPDFDataContainerProvider
. (#17734)
Fixed
Fixes a potential issue when rendering images. (#17737)
Fixed
Fixes an issue where PSPDFImageDocument
's data provider would reference invalid memory. (#17763)
Fixed
Fixes an issue where text could not be selected in certain documents. (#17759)
Fixed
Fixes an issue where text for highlighted annotations sometimes didn't include newline character. (#17595)
Fixed
Fixes an occasional issue when rendering text. (#17747)
Fixed
Fixes the PSPDFAnnotation
API hasBinaryInstantJSONAttachment
and writeBinaryInstantJSONAttachmentToDataSink:error:
returning incorrect values in certain situations. (Z#11192)
Fixed
Fixes an issue where underline annotations may not work correctly on rotated pages. (#14252)
Instant
Fixed
Fixes an issue where attempting to sync an invalid document could lead to an assertion failure. (#17817)
Fixed
Fixes an issue where image attachments with a more specific MIME-type were rejected as invalid server data. (#17790)
Fixed
Fixes an issue where incomplete image transfers would lead to missing images and possibly a flood of sync requests. (#17788)
Fixed
Fixes an issue where the concurrently finishing downloads of image attachments could have lead to a crash or data loss. (#17807)
8.0.3 - 15 Nov 2018
PSPDFKitUI
Changed
Improves handling of cell layout when parent frame has a size of zero. (#17622)
Changed
Improves text selection handle behavior in documents with vertical or rotated text. (#14252)
Fixed
Fixes an issue when switching the annotation tool while selecting text with a markup annotation tool. (#17623)
Fixed
Fixes an issue where undo could remove an annotation from a previous document. (#17620)
Fixed
Fixes an issue with selecting a polyline or polygon annotation with the finger, while currently being created with an Apple Pencil. (#17625)
PSPDFKit
Changed
Improves text selection for documents with rotated pages. (#14252)
Fixed
Fixes a crash that may happen when trying to generate the appearance stream of a push button. (#17627)
Fixed
Fixes a potential issue when converting magic ink annotations. (#17618)
Fixed
Fixes a potential issue when rendering certain PDF documents with note annotations. (#17617)
Fixed
Fixes an issue in handling documents with partially invalid pages. (#17621)
Fixed
Fixes an issue with unexpected state when clearing the annotation selection for specific configurations. (#17619)
8.0.2 - 9 Nov 2018
PSPDFKitUI
Added
Adds support for the new iPad Pros. (#17522)
Added
Adds allowEditing
, rightActionButtonItems
, leftActionButtonItems
to PSPDFBookmarkViewController
to allow customize the interface. (#16429)
Changed
Improves annotation deselection behavior when creating new annotations or navigating between pages. (V#1832)
Changed
Improves annotations list styling while editing. (#17434)
Changed
Improves customization options of PSPDFDocumentInfoCoordinator
. (#16429)
Fixed
Fixes an animation glitch with the toolbar in the document info and document security UI. (#17437)
Fixed
Fixes missing search on annotations list view controller. (#17482)
PSPDFKit
Added
Adds support for util.scand
, a JavaScript API that can be used from PDF documents to parse dates from strings. (#17480)
Changed
Improves performance while entering text using a non-latin font into form fields. (#17593)
Changed
Adjust default values of PSPDFLibrary
cooldown timer for iOS 12.0 and higher. (#17441)
Changed
Changes the format of the InstantJSON
bookmark format. The id is now saved in pdfBookmarkId
and skippedBookmarkIds
has been renamed to skippedPdfBookmarkIds
. (#17400)
Fixed
Fixed an issue where the wrong encoding was used for the Symbol
font. (#17245)
Fixed
Fixes a crash that could occur if an annotation is deleted while a checkpoint is being saved. (#17408)
Fixed
Fixes a crash that may happen when you add form fields with certain kinds of JavaScript scripts. (#17472)
Fixed
Fixes an issue where JavaScript dependent calculations may not be executed after a syntax error. (#17025)
Fixed
Fixes an issue where JavaScript form field validation erroneously used the previous value. (#16462)
Fixed
Fixes an issue where redacting content in some documents may show validation issues in third party readers. (#17486)
Fixed
Fixes an issue where rotating a page after adding a note annotation would crash without saving the document prior to rotation. (#17473)
Fixed
Fixes duplicate annotations when using PSPDFXFDFAnnotationProvider
together with PSPDFFileAnnotationProvider
. (#17526)
Fixed
Fixes an issue inserting Emoji, Arabic or East Asian text in form fields. (#17574)
Instant
Examples
Added
Adds a PSPDFCatalog example illustrating how to convert HTML to PDF with Swift. (#17536)
Added
Adds a PSPDFCatalog example illustrating how to programmatically create a push button form field with a custom image. (#17569)
Added
Adds the Calculator.pdf JavaScript demo to the Catalog. This example showcases a calculator application implemented completely inside a PDF using JavaScript. (#17547)
8.0.1 - 25 Oct 2018
PSPDFKitUI
Changed
Improves presentation experience by changing pages without animation when external keyboard is used. (#17346)
Changed
Improves scrolling performance for very complex documents when zoomed in. (#16655)
Changed
Changes the fill color set for redaction annotation which now does not include the unsupported clear color option. (#17261)
Changed
Magic Ink tool now does not convert the detected shape to its corresponding shape annotation if the creation of the detected shape annotation type is not added to the edtableAnnotationTypes
property of the PSPDFConfiguration
object. (#17241)
Fixed
Fixes a crash when using page curl transition and automatic page mode, during resizing the app in Split View. (#17323)
Fixed
Fixes a potential crash when having a filter selected in PSPDFThumbnailViewController
. (#17325)
Fixed
Fixes an issue where tapping on undo while drawing a polygon shape or line annotation lead to a crash. (#17296)
Fixed
Fixes an issue where the PSPDFScrubberBar
displayed the wrong thumbnail if the document hadn't completed rendering and also when replacing the document. (#9387, #17135)
Fixed
Fixes an issue where the page rendering indicator was not animated and positioned properly. (#8524)
Fixed
Fixes creation of overlapping markup annotations. (#17316)
Fixed
Fixes height of the search view controller to show all available results when possible. (#17254)
Fixed
Fixes height of the search view controller when no matches are found. (#17254)
PSPDFKit
Added
Adds -[PSPDFNamedAction initWithNamedActionType:] as alternative initializer. (#17311)
Changed
Improves a free text annotation compatibility with Adobe Acrobat and other PDF readers. (#15095)
Changed
Improves support for NSSecureCoding
in PSPDFDocument
. (#17273)
Changed
Improve magic ink's detection of lines and arrows. (#17339)
Fixed
Fixes an issue rendering certain documents with complex clip paths. (#16683, #17267)
Instant
Added
Adds support for shape annotations. (#17239, #17263, Z#10922)
Fixed
Fixes a bug that deleted all local layers of a document instead of just the layer backing a document descriptor. (#17264)
Fixed
Fixes a deadlock that could occur when deleting a layer or all loaded data. (#17257)
Fixed
Fixes an issue that could cause open file descriptors to be leaked when deleting the local data for a layer, document, or the entire Instant client. (#17303)
Fixed
Fixes an issue where remote deletion of the last annotation on a page would not correctly update the display. (#17062)
8.0.0 - 17 Oct 2018
This release features two new components - Redaction and Comparison. If you would like to add either to your license, ping our sales team to receive a quote.
Below is a summary of the API changes in this release. For a full list, with our suggested migration strategy for each API that has been changed or removed, please see the migration guide.
PSPDFKitUI
API
The flow for sharing documents has been revamped to allow the user to first decide what options to apply to the sharing documents and then sharing to a given destination; this change normalizes the sharing experience across PSPDFKit. Please refer the migration guide if you did anything related to sharing, such as overriding PSPDFDocumentSharingViewController
, or using PSPDFDocumentSharingCoordinator
or it's subclasses. (#16453)
API
Changes the return type of PSPDFPageView
’s showNoteControllerForAnnotation:animated:
from PSPDFNoteAnnotationViewController
to void
to make it clearer this can show custom UI. If you need the view controller being presented, use pdfViewController:didShowController:options:animated:
. (Z#10488)
API
Removes incorrect usage of UI_APPEARANCE_SELECTOR
on PSPDFLinkAnnotationView
and improves the documentation for that class. (#16689)
API
Resolves incorrect type usage and improves type safety on PSPDFConfiguration.propertiesForAnnotations
and related APIs, with the introduction of a new extensible enum - PSPDFAnnotationStyleKey
. (#16501)
API
Removes PSPDFScrubberBar.isSmallToolbar
since the scrubber bar can have multiple sizes now. Override scrubberBarHeight
to change its size. (#16017)
API
Removes PSPDFFlexibleToolbarHeight
, PSPDFFlexibleToolbarHeightCompact
, and PSPDFFlexibleToolbarTopAttachedExtensionHeight
since the flexible toolbar can now have different sizes. (#16017)
API
Renames PSPDFAnnotationStringRedact
to PSPDFAnnotationStringRedaction
, and PSPDFAnnotationTypeRedact
to PSPDFAnnotationTypeRedaction
. (#2127)
API
Renames PSPDFBackButtonStyle
to PSPDFButtonStyle
. (#2127)
API
Changes PSPDFDocumentPermissionsLevel
, PSPDFFormFieldType
, and PSPDFSubmitFormActionFormat
from NS_OPTIONS
to NS_ENUM
. (#16863)
API
Renames PSPDFSignatureBiometricPropertiesOptionPressue
to PSPDFSignatureBiometricPropertiesOptionPressure
. (#16863)
Added
Adds PSPDFConfiguration.documentViewLayoutDirectionalLock
so that the scrolling direction can be locked on the document view. (#16687)
Added
Adds magicInkReplacementThreshold
to PSPDFConfiguration
. Adjust this property to change the shape detection strictness. (#16839)
Added
Adds redactionInfoButton
to the user interface view, that is shown when there are uncommitted redaction annotations in the document. This button can be disabled via PSPDFConfiguration.shouldShowRedactionInfoButton
. (#2127)
Added
Adds a new 'Spread Fitting' setting to PSPDFSettingsViewController
. (#15724)
Added
Adds a new Magic Ink tool that recognizes drawn shapes and converts them to shape annotations. This tool is defined as a new variant of the Ink tool: PSPDFAnnotationVariantStringInkMagic
. (#3923)
Added
Adds a new ink_highlighter
image for use with the Highlighter variant of the Ink tool. (#16839)
Added
Adds a section separator to the settings UI. (#16261)
Added
Adds accessibility labels to the note annotation style view. (#11808)
Added
Adds support for creating redaction annotations from the annotation toolbar and from the text selection menu. (#2127)
Added
Adds support for the CMD-W
command to close a document tab on PSPDFTabbedViewController
. (#16088)
Changed
Improves how the document configuration applies to the visible document by avoiding unnecessary reload. (#16486)
Changed
Improves state restoration after rotation on PSPDFThumbnailViewController
. (#16973)
Changed
Improves support for Dynamic Type and self-sizing cells in table views. (#16024)
Changed
Improves support for following readable width for various table views and cells. (#16013)
Changed
Improves the playback experience of sound annotations while interacting with documents. (#16422)
Changed
Improves the rendering support of push buttons. (#16507)
Changed
Improves the undoing experience for items dropped into PSPDFDocumentEditorViewController
from other applications via Drag and Drop. (#16048)
Changed
Changes how the presets cell title is displayed in the annotation inspector. (#16674)
Changed
Changes the flexible toolbar width to 50 points on iPads on iOS 12, to match the system behavior. (#16017)
Changed
Image Documents now offer smarter defaults for the settings controller. (#16135)
Changed
Introduces PSPDFStyleButton
, that is used for the back/forward and redaction info button in the user interface view. (#2127)
Changed
Prevents the menu controller from being displayed when a markup annotation is created using a markup tool. (#16650)
Changed
Readonly form fields are now tappable and execute actions/additionalActions. (#16865)
Changed
Shows an alert with a usage description the first time the redaction feature is used. (#2127)
Changed
The left/right edge tap navigation (scrollOnTapPageEndEnabled
) now no longer applies in vertical scrolling configurations. (#16530)
Changed
The menu for selected text and selected images now features a Share item. The 'Save to Camera Roll' menu on images has been removed, as Share includes this as potential action. We added PSPDFTextSelectionMenuActionShare
to control this. (#16141)
Fixed
Fixes a crash that could occur when quickly changing the document presentation options. (#16659)
Fixed
Fixes a logic issue that prevented the highlight annotation type menu from being displayed on some configurations. (#16884)
Fixed
Fixes a potential UI access on the main thread from PSPDFDrawView
. (#16414)
Fixed
Fixes a hang of the main thread when certain progress views were updated in an unforeseen manner. (#17147)
Fixed
Fixes an infinite loop when adjusting the document size after a device rotation. (#16579)
Fixed
Fixes an issue that could prevent the annotation toolbar from showing, if it was invoked when the user interface was hidden. (Z#10094)
Fixed
Fixes an issue that could result in an incorrect jump to page behavior in documents with varying page sizes viewed in continuous scrolling mode. (#16627)
Fixed
Fixes an issue where custom render options using PSPDFAppearanceModeManager
were not applied when PSPDFViewController
is initialized with a document. (#16728)
Fixed
Fixes displayed page not updating when changing tabs in page curl mode. (#16788)
Fixed
Fixes an issue where drawn layers disappeared if the app is backgrounded. (#16795)
Fixed
Fixes an issue where hidden annotations could temporary become visible during erasing. (#16750)
Fixed
Fixes an issue where rotating the device while PSPDFThumbnailViewController
was visible, could have resulted in thumbnails disappearing. (#15527, #16678)
Fixed
Fixes an issue where section footers were sometimes sized incorrectly. (#16146)
Fixed
Fixes an issue where the close button would disappear when changing segment in the document outline after changing from regular to compact width. (#15910)
Fixed
Fixes an issue where the color change animation for note annotations on iOS 10 didn't sync properly. (#16752)
Fixed
Fixes an issue where the selected text overlay would be misplaced on rotation. (#17139)
Fixed
Fixes an issue where zooming to a page index might display that page partially off-screen when using continuous page transition. (#16967)
Fixed
Fixes an where deleting all annotations in list animated the cells to the top right corner. (#16696)
Fixed
Fixes changes to PSPDFNoteAnnotationViewController
’s showColorAndIconOptions
property not being applied immediately while the view is visible. (Z#10487)
Fixed
Fixes page view size when tab bar is visible. (#16474)
Fixed
Fixes secure unarchiving of PSPDFViewState
not working. (#16850)
PSPDFKit
API
PSPDFKit now uses a standardized coordinate system where the page origin is always in the lower-left corner as the page appears on screen. The simplifies interaction with pages that have a rotation or cropbox set in the PDF. Please see the migration guide if you did anything in PDF coordinates or page coordinates, such as reading or writing annotation or glyph positions, or using PSPDFViewState
. (#15890)
API
Instant JSON binary attachment APIs now take and return a mime-type
. (#16039)
API
Removes PSPDFPageInfo
’s rect
, rotatedRect
, and rotationTransform
. They have been replaced by size
and transform
. (#15890)
API
Separates PSPDFPageInfo
’s rotation
property into savedRotation
and rotationOffset
. (#15890)
API
Removes the externalSignatureDelegate
property of PSPDFSigner
. Use the delegate
property instead, as it's intended to be more flexible. (#15853)
API
Removes the synchronous signing methods in PSPDFSigner
. It's more preferred to use the ones that are based on setting a custom dataSource
or delegate
, as they offer more flexibility. (#15853)
API
Changes the parameters of the conversion functions between view and PDF coordinate spaces. (#15890)
Added
Adds API support for resetting form fields to the PSPDFFormParser
. (#16808)
Added
Adds API to PSPDFProcessorConfiguration
to apply redaction annotations. (#2127)
Added
Adds Comparison features. Adds changeStrokeColorOnPageAtIndex:toColor:
, and mergePageFromDocument:password:sourcePageIndex:destinationPageIndex:transform:blendMode:
to PSPDFProcessorConfiguration
. (#16396)
Added
Adds PSPDFAdditionalFontDirectories
option to configure additional font directories. (#13991)
Added
Adds PSPDFDocumentSaveOptionApplyRedactions
to apply redactions when saving the document. (#2127)
Added
Adds PSPDFSignerDataSource
and PSPDFSignerDelegate
to be able to add digital signatures to documents asynchronously. (#15853)
Added
Adds maximumContiguousIndexingTime
and automaticPauseDuration
to PSPDFLibrary
to configure the automatic pause. (#17026)
Added
Adds outlineColor
to PSPDFAnnotationStateManager
, and PSPDFAnnotationStyleKeyOutlineColor
as a new annotation style key, to allow setting the outline color of redaction annotations. (#2127)
Added
Adds a configurable privateKey
property to PSPDFSigner
. For convenience, this property is already set for you if you use the most common PSPDFSigner
subclass, PSPDFPKCS12Signer
, as soon as you unlock the .p12 bundle. (#15853)
Added
Adds a new render option, PSPDFRenderOptionDrawRedactionsAsRedacted
, to draw redactions in their redacted state. (#2127)
Added
Adds model-level support for redaction annotations via the new PSPDFRedactionAnnotation
class. (#2127)
Added
Adds the ability to compare document pages via PSPDFProcessorConfiguration
. Requires the PDF Comparison feature to be enabled in your license. (#16396)
Added
Adds support for bookmarks to Instant Document JSON. (#16165)
Changed
Improves the performance of documents with a lot of JavaScript calculations. (#11925, #16490)
Changed
Renames PSPDFMarkupAnnotation
to PSPDFTextMarkupAnnotation
, and its highlightedString
property to markedUpString
. (#16652)
Fixed
Fixes a bug where the reason or location of a digital signature may not be persisted in the document correctly. (#15853)
Fixed
Fixes a potential deadlock during document (re-)initialization. (#15005)
Fixed
Fixes a race condition that could result in an incorrect page count when using documentByAppendingDataProviders:. (#16994)
Fixed
Fixes a render rounding issue that may happen in PDF documents with a displaced cropbox. (#15169)
Fixed
Fixes an issue that caused problems saving new annotations in particular documents. (#16717)
Fixed
Fixes an issue when extracting link annotations. (#16854)
Fixed
Fixes an issue where JavaScript scripts that hold a strong local reference to event.target may not work correctly. (#16507)
Fixed
Fixes an issue where documents with a large number of form fields failed to display editing options. (#16911)
Fixed
Fixes an issue where form elements were not correctly updated. (#16408)
Fixed
Fixes an issue where importing images in push buttons via JavaScript may add an annotation in some cases. (#16751)
Fixed
Fixes an issue where not all form fields were listable immediately after opening a document. (#16479)
Fixed
Fixes an issue where some PDF pages could not be inserted as attachments for images. (#16729)
Fixed
Fixes an issue where some document outlines may not be persisted correctly after using the document processor. (#16688)
Fixed
Fixes an issue where some documents with JavaScript may be unresponsive for a great amount of time. (#16886)
Fixed
Fixes an issue where the blend mode of ink annotations may not be persisted correctly. (#16376)
Fixed
Fixes an issue where the system sound recorder could invoke messages on already deallocated delegates after recording a sound annotation. (#16743)
Fixed
Fixes an issue with JPEG2000 images. (#14850)
Fixed
Fixes an issue with document checkpointing after saving fails. (#16600)
Fixed
Fixes an issue with free text annotations reducing render quality after moving them around many times. (#16329)
Fixed
Fixes an locking issue that could result in a deadlock while saving document editor changes. (#16980)
Fixed
Fixes annotations created from Instant JSON being offset from their correct position in documents with non-uniform page sizes. (#16802, Z#10493)
Fixed
Fixes a performance problem with documents that contain large clipping paths. (#16481)
Fixed
Fixes a problem applying Instant Document JSON. (#16004)
Fixed
Fixes a problem rendering documents with particular fonts. (#16361)
Fixed
Fixes an issue where the selection indices may not be set correctly during JavaScript keystroke validation. (#17199)
Instant
Added
Adds support for image annotations. (#11957)
Added
Adds the ability edit link annotations in PSPDFInstantViewController
via editableAnnotationTypes
. (#16665)
Added
Add handling of editableAnnotationTypes
in PSPDFInstantViewController
. (#16139, Z#9855)
Examples
Added
Adds PSPDFCatalog example illustrating how to blur specific pages in a document. (#16702)
Added
Adds a PSPDFCatalog example illustrating how to disable auto saving and ask for permission for saving the document while exiting. (#16456)
Added
Adds an example showcasing how to enforce a fixed style for link annotations. (#16689)
Added
Adds support for opening files in place to the Catalog example. (#16497)
Added
Adds a Catalog example showing show to replace PSPDFNoteAnnotationViewController
with custom UI. (Z#10488)
Changed
Changes the page rotation examples' title and description for better distinction. PSCRotatePageExample.m
changes the orientation of the pages and saves it to the PDF making them permanent while RotatePageExample.swift
rotates the pages of the document temporarily only for that opened instance. (#16996)
Fixed
Fixes an issue where documents did not open properly in the "Open In" example. (#16616)
7.7.2 - 23 Aug 2018
PSPDFKitUI
Fixed
Fixes an issue where iOS 12 could throw an exception inside -[UIAccessibilityInformationLoader _loadAccessibilityInformationOnMainThread:]
. (#16489)
Fixed
Fixes an issue where a reused outline cell could have a custom text color set. (#16355)
Fixed
Fixes an issue where newly created annotations could have an incorrect fill color assigned in rare cases. (#16562)
Examples
7.7.1 - 9 Aug 2018
PSPDFKitUI
Added
Adds the selection tool to the default image configuration options. (#16109)
Added
Adds a new markupAnnotationMergeBehavior
configuration option. (#16425)
Changed
Improves form element behavior when the form field has scrolling disabled. (#13239)
Changed
Improves top content inset calculations to cover more presentation scenarios. (#16020)
Changed
Ensures text selection gestures are handled by a single page at a time. (#16374)
Changed
Form submission actions that have a mailto URL now display the system mail composer with the form in the requested format attached. (#16072)
Changed
Tapping a search result that changes to a different page now offers a back action to return to the previous page. (#16343)
Fixed
Fixes PSPDFDocumentSharingViewController.selectedOptions
not being respected if set before the view controller is presented. (#15832)
Fixed
Fixes Drag and Drop support for PSPDFDocumentEditorViewController
so that pages are always exported in the correct format if the destination application accepts PDF files. (#16230)
Fixed
Fixes a crash in the inline search manager through better sanitization. (#16226, Z#9937)
Fixed
Fixes an issue that caused newly added annotations to flicker when switching between drawing tools. (#16128)
Fixed
Fixes an issue where PSPDFFontPickerViewController
subclasses did not honor the passed fontFamilyDescriptors
completely. (#16306)
Fixed
Fixes an issue where selectedPages
was not reset in PSPDFDocumentEditorToolbarController
when setting a new documentEditor
and caused selectedPages
to be in an outdated state. (#16213)
Fixed
Fixes an issue where markup annotations were incorrectly created when tapping on an empty space. (#16189)
Fixed
Fixes an issue where newly created annotations could be inserted into the wrong document when switching tabs. (#16166)
Fixed
Fixes an issue where the search view controller would sometimes be displayed full-screen without a cancel button instead of being displayed as a popover. (#16378)
Fixed
Fixes an issue with using the tab bar controller when the document editor component was not licensed. (#16331)
Fixed
Fixes search results sometimes not being highlighted on page when tapping on a search result that is not on the current page. (#15236)
PSPDFKit
Added
Adds -library:didFinishIndexingDocumentWithUID:success:
to PSPDFLibraryDataSource
. (#16185)
Added
Adds -library:didRemoveDocumentWithUID:
to PSPDFLibraryDataSource
. (#16185)
Added
Adds PSPDFRotatable
protocol that enables annotations to be rotated. (#16183)
Changed
Annotations that are hidden or have the NoView flag set are no longer part of interactions. (#16344)
Changed
Clarify requirements for custom UID
values on PSPDFDocument
. (Z#9936)
Changed
Ensures PSPDFDocument.title
is updated when the document is unlocked. (V#1599)
Changed
Ensures that PSPDFLibrary
stops indexing when the application is terminating. (#16212)
Changed
Image documents now correctly report that bookmarks are not supported. (#16138)
Fixed
Fixes an issue where an assertion is raised when adding an annotation while the underlying file for a PSPDFDocument
is being changed. (#16276)
Fixed
Fixes PSPDFDocument.title
not being updated when the title is changed by an instance of PSPDFDocumentPDFMetadata
. (#16193)
Fixed
Fixes a crash that would occur when trying to edit a document after having duplicated pages. (#16360)
Fixed
Fixes a race condition during undo registration that could result in a bad memory access. (#16216)
Fixed
Fixes an issue where PSPDFLibraryFileSystemDataSource
would remove previously indexed documents when adding a document in explicit mode. (#16185)
Fixed
Fixes an issue where calling JavaScript function AFSpecial_Keystroke with certain arguments may cause an infinite loop in some devices. (#16126)
Fixed
Fixes an issue where form elements were not detected by PSPDFDocument
(when using PSPDFFileAnnotationProvider
). (#16161)
Fixed
Fixes an issue where radio buttons could be unselected. (#16233)
Fixed
Fixes drawing annotations on rotated pages. (#16183)
Fixed
Fixes an issue when loading checkpoint files. (#16277)
Examples
7.7.0 - 19 Jul 2018
PSPDFKitUI
API
PSPDFTextMenu
is now an extensible enum string. This changes how Swift imports the strings. (#15789)
Removed
Deprecates -[PSPDFViewControllerDelegate pdfViewControllerDidChangeControllerState:]
in favor of -[PSPDFViewControllerDelegate pdfViewController:didChangeControllerState:error:]
. (#9087)
Removed
Deprecates -[PSPDFPageView showSignatureControllerAtRect:withTitle:options:animated:]
. Use showSignatureControllerAtRect:signatureFormElement:options:animated:
instead. (#15788)
Removed
Deprecates insertAnnotations:
and insertAnnotations:forPageAtIndex:inDocument:
on PSPDFPageView
. To know when annotations are inserted, listen for PSPDFAnnotationCreateActionDidInsertNotification
instead. To add annotations, use addAnnotations:options:
on PSPDFDocument
. Set the pageIndex
on an annotation before adding it to define the page. (#15788)
Removed
Deprecates the filtering API on PSPDFThumbnailViewController
in favor of a new, more flexible asynchronous API. (#14572)
Removed
Deprecates showNoteControllerForAnnotation:showKeyboard:animated:
on PSPDFPageView
. Use showNoteControllerForAnnotation:animated:
instead. (#15788)
Added
Adds Document Info view controller: PSPDFDocumentInfoViewController
. (#12227)
Added
Adds Document Info view to the outline and annotation list. (#12227)
Added
Adds Document Security view controller. PSPDFDocumentSecurityViewController
. (#12227)
Added
Adds Safari Reading List, Copy and Share to the menu shown when long pressing on web links. (#13798)
Added
Adds PSPDFAnnotationCreateActionDidInsertNotification
and PSPDFAnnotationCreateActionInsertedAnnotationsKey
to get better timing for newly inserted annotations. (#15788)
Added
Adds PSPDFDocumentSharingOptionImageWithMetadata
to PSPDFDocumentSharingOptions
, and adds it to the default sharing configurations. This only takes effect when sharing PSPDFImageDocument
s. (#15432)
Added
Adds PSPDFSegmentImageProviding
protocol implemented by controllers used in PSPDFDocumentInfoCoordinator
, to provide image in place of title. (#13677)
Added
Adds a way to add multiple pages to a document using a specified configuration, via API and user interface. (#13937)
Added
Adds support for the Info action on documents, which now displays the new document metadata view controller. (#15987)
Added
Adds the ability to insert new pages at specific indexes with PSPDFNewPageViewController
. (#13880)
Added
Adds the ability to cut and paste pages when editing a document. (#15754)
Changed
Improves export flow for image documents. (#15432)
Changed
Improves page curl to better adapt to documents that don't match device screen ratio. (#15786)
Changed
Improves performance during drawing by avoiding unnecessary page re-rendering. (#16032)
Changed
Improve performance when scrolling page content when zoomed in. (#16029)
Changed
Pages now use predictive rendering while scroll deceleration is active to improve render performance. (#15542)
Changed
Replaces title texts with icons in the document info UI. (#13677)
Changed
Solves flickering on the annotation list for PDF forms. (#14881)
Changed
The digital signature verification popover now uses a better sizing logic. (#15942)
Changed
The note editor is now displayed with form presentation mode on an iPhone Plus. (#4488)
Changed
PSPDFDocumentEditorViewController
now supports importing and exporting images and PDFs from other applications via Drag & Drop in iOS 11 and above. (#15812)
Fixed
Fixes PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779)
Fixed
Fixes a crash that occurred when rotating in page curl mode. (#15765)
Fixed
Fixes a crash when using custom page templates on PSPDFNewPageViewController
. (#15857)
Fixed
Fixes an issue where PSPDFResizableViewDelegate
methods were not called for custom PSPDFResizableView
subclasses. (#15762)
Fixed
Fixes an issue where PSPDFViewController
would not fully reload when appearing in some uncommon cases. (V#1309, V#1609)
Fixed
Fixes an issue where a page image from a document previously used with PSPDFViewController
might be shown instead of the page of the current document. (#15932)
Fixed
Fixes an issue where annotations could be displayed mirrored or more than once after drawing. (#15770)
Fixed
Fixes an issue where changing PSPDFConfiguration.isFirstPageAlwaysSingle
was not honored after being changed. (#15819)
Fixed
Fixes an issue where newly added image annotations did not respond to touches. (#15667)
Fixed
Fixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
Fixed
Fixes misalignment of text in PSPDFNewPageViewController
when presented as full screen. (#15471)
Fixed
Fixes reference cycles in PSPDFDownloadManager
and PSPDFGalleryViewController
. (#16018)
Fixed
Fixes the "Open In" activity not working when sharing documents using PSPDFDocumentSharingOptionImage
. (#16028)
Fixed
Fixes the timing for -[PSPDFDocumentViewControllerDelegate documentViewController:didCleanupSpreadView:forSpreadAtIndex:]
and PSPDFDocumentViewControllerDidCleanupSpreadViewNotification
. They are now correctly dispatched during spread cleanup (reuse) and not when the spreads go offscreen. (#16032)
PSPDFKit
API
Adds isUnlockedWithFullAccess
property to PSPDFDocument
. (#12227)
API
Improves type safety of PSPDFDocumentPDFMetadata
keyed subscript access. (#12227)
API
Introduces dedicated types for annotation variants (PSPDFAnnotationVariantString
) and state-variant identifiers (PSPDFAnnotationStateVariantID
), and updates all related APIs to correctly consume and vend the new types. (#14238)
Removed
Deprecates PSPDFDiskCache
’s jpegCompression
in favor of compression
. (#14075)
Removed
Deprecates PSPDFProcessorSkipPDFCreationKey
since it no longer does anything. (#15894)
Removed
Deprecates the rotation property on PSPDFAnnotation
and adds the same property on the subclasses PSPDFFreeTextAnnotation
and PSPDFStampAnnotation
. (#15894)
Added
Adds isEncryptedWithUserPassword
, isUnlockedWithFullAccess
, isUnlockedWithUserPassword
properties to PSPDFDocumentProvider
. (#12227)
Added
Adds permissionsLevel
property to PSPDFDocumentProvider
to indicate access level of opened document. (#12227)
Added
Adds support for JavaScript do not disturb mode. In that mode, if code tries to show an alert message, it will be automatically translated into a console log instead. This is useful in the batch processing of form fields that may have validation scripts attached. You can configure this mode via the javaScriptStatus
property of PSPDFDocument
. (#15498)
Added
Adds support for extracting and attaching binary Instant JSON attachments. (#15834)
Added
Adds support for rendering borders and border colors in link annotations. (#15566)
Added
Adds image attachments to Instant Document JSON. (#15748)
Changed
Improves document password support and compatibility with third-party readers. (#15951)
Changed
Improves the performance of the document searcher, specially in devices with low memory. (#15916)
Changed
Improves hash call performance for lazily evaluated actions. (#13917)
Changed
Ensures that the processor always encrypt documents using the 128-bit AES algorithm if the user didn't change the defaults. (#15946)
Removed
Removes incorrect PSPDF_CLASS_AVAILABLE
annotation from PSPDFDocumentEditorConfiguration
. Subclassing this class is not supported, and has now been marked with PSPDF_CLASS_AVAILABLE_SUBCLASSING_RESTRICTED
. (#15147)
Changed
PSPDFDocumentEditor
now returns NSProgress
when calling importPagesTo:fromDocument:withCompletionBlock:queue:
for better status tracking. (#15918)
Fixed
Fixes PSPDFFile.fileURL
returning an empty NSURL
when initialized with a nil
fileURL
. (#16120)
Fixed
Fixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
Fixed
Fixes a problem where a form field may not be automatically formatted in some cases. (#15567)
Fixed
Fixes a problem where entering text in some form fields with JavaScript validation may not be possible. (#15864)
Fixed
Fixes a problem where some XFA forms with JavaScript may show an alert message when the document is open. (#16000)
Fixed
Fixes a race condition that could lead to an assertion failure through improved locking. (#15548)
Fixed
Fixes a rare issue adding page references with the document editor. (#14705)
Fixed
Fixes an issue exporting document pages with a rare outline configuration. (#15923)
Fixed
Fixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
Fixed
Fixes an issue where bookmarks may not be saved correctly in certain documents. (#15826)
Fixed
Fixes an issue where rendering was being incorrectly canceled. (#15685)
Fixed
Fixes an issue where the library tokenizer was nil after creating the library with +[PSPDFLibrary libraryWithPath:tokenizer:error:]
. (#15991)
Fixed
Fixes memory leaks that occurred when using PSPDFProcessor
. (#15767)
Fixed
Fixes serialization and deserialization of the PSPDFURLAction.unmodifiedURL
URL property. (#13990)
Instant
7.6.2 - 28 Jun 2018
PSPDFKitUI
Fixed
Fixes PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779)
Fixed
Fixes a crash that occurred when rotating in page curl mode. (#15765)
Fixed
Fixes an issue where newly added image annotations did not respond to touches. (#15667)
Fixed
Fixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
PSPDFKit
Fixed
Fixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
Fixed
Fixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
7.6.1 - 14 Jun 2018
PSPDFKitUI
Fixed
Fixes an issue that could cause blank pages in per page and continuous page modes. (#15504)
Fixed
Fixes an issue with PSPDFImagePickerController
where allowedImageQualities
was ignored if the image editor was disabled. (#15599)
PSPDFKit
Changed
Improves image document saving performance. (#15540)
Added
Added the ability to print image documents. (#15375)
Changed
Image quality for JPEG now used in Image Documents. (#15499)
Changed
Validation errors generated by JavaScript code are now localized in every language that is currently supported. (#14577)
Fixed
Fixes mistaken API rename for -[PSPDFDocument fileURLs]. (#15660)
Fixed
Fixes an issue with vector stamp annotations becoming grey when moving or resizing them. (#15345)
Fixed
Fixes an issue when closing documents with smart form tab orders. (#15580)
Fixed
Fixes an issue where a form field may be rendered more times than necessary. (#15528)
Fixed
Fixes an issue where annotation additional actions may not be preserved after a document is saved. (#2185)
Fixed
Fixes growing image document after save. (#15479)
7.6.0 - 30 May 2018
In preparation for iOS 12, this version of PSPDFKit now drops support for iOS 9. It also requires and is built with Xcode 9.4 (9F1027a).
The new Image Documents component, which enables you to keep PSPDFImageDocument
s editable even after saving, requires an updated license.
We prepared a migration guide to help you with some of the API changes in this version.
PSPDFKitUI
Removed
Deprecates PSPDFDrawLayer
related public APIs on PSPDFDrawView
. (#14921)
Added
Adds -pdfViewController:shouldSaveDocument:withOptions:
and -pdfViewController:didSaveDocument:error
to PSPDFViewControllerDelegate
. (#14910)
Added
Adds blend modes to the annotation inspector. The ink highlighter by default now uses a multiply blend mode for clear, black text. (#15080)
Added
Adds customization options for PSPDFNoteAnnotationViewController
. (#15305)
Changed
Improves comment author display in PSPDFCommentCell
to accommodate longer author names. (#15065)
Changed
Improves layout of the buttons on PSPDFSignatureViewController
by making them respect the safe area and dynamic type. (#15063)
Changed
Improves state restoration to restore and persist selected annotations. (#14935)
Changed
Improves support for Dynamic Type, particularly for larger accessibility sizes. (#14788)
Changed
Improves the layout of the stamps grid, to always look reasonably dense, while keeping the stamps big enough to read. (#13675)
Changed
Changes the default state of the Store Signature checkbox to be disabled to not store the created signature without users explicitly checking it. (#15250)
Changed
Makes selection experience more consistent across platforms. (#14729)
Changed
Makes the custom stamp option in the stamps UI more apparent. (#1824)
Changed
Moves 'Saved Annotations' to its own annotation toolbar item, as opposed to being a tab on the stamps UI. (#1824)
Changed
Setting the doNotScroll
property on a form text field now works correctly. (#14926)
Changed
Sharing with UIActivityViewController
now only includes the document, not the title as well. This fixes a Text File being created alongside the PDF when exporting files. (#12782)
Changed
The userInterfaceViewMode
setting now defaults to .automaticNoFirstLastPage
. (#15077)
Changed
The behavior of scrollOnTapPageEndEnabled
has been changed to be enabled by default again and reacting immediately, without waiting for a potential double tap gesture. The edge span where taps are accepted scrollOnTapPageEndMargin
has been reduced to 44 pixels. The default for scrollOnTapPageEndAnimationEnabled
has been changed to NO. This allows fast tapping through a document. (#13098)
Changed
The home indicator on iPhone X is now automatically hidden when the HUD is not visible. (#15006)
Changed
-[PSPDFTextSelectionView sortedGlyphs:]
now sorts the passed in glyphs in their reading order. (#15400)
Changed
PSPDFConfiguration
's scrollOnTapPageEndMargin
and scrollOnTapPageEndAnimationEnabled
is now honored when using PSPDFPageTransitionCurl
. (#15333)
Fixed
Fixes -[PSPDFConfiguration shadowOpacity]
not being honored for configurations where the page transition was set to PSPDFPageTransitionScrollPerSpread
. (#15369)
Fixed
Fixes a crash in that could occur when selecting text if the initial selection did not contain any valid characters. (#15445)
Fixed
Fixes a document's table of contents' colors not being shown correctly. (#15295)
Fixed
Fixes a rare issue that could lead to a crash in PSPDFResizableView
layout when rotating rapidly. (#15410)
Fixed
Fixes an issue where comments would not scroll out from underneath the keyboard or toolbar on iOS 10 in PSPDFNoteAnnotationViewController
. (#15415)
Fixed
Fixes an issue where drawing a signature area was not possible when digitally signing a document via the PSPDFPageView
signature API. (#14765)
Fixed
Fixes an issue where embedded videos with autoplay enabled would start playing before their page was visible. (#14662)
Fixed
Fixes an issue where the font size for a form element was calculated wrong. (#15274)
Fixed
Fixes an issue where the printing UI wouldn't prevent interactions with the rest of the application, breaking the printing flow. (#10480)
Fixed
Fixes issues with pages not being displayed in page curl mode. (#15280)
Fixed
Fixes layout of saved annotations and stamps UI on iPhone X. (#1824)
Fixed
Fixes text alignment for text field cells. (#15304)
Fixed
Fixes the text insertion point not always staying in the visible area while writing comments on annotations. (#14201)
PSPDFKit
Changed
The minimum deployment target is now iOS 10. Support for iOS 9 has been removed. (#14398)
API
The configuration builder blocks in PSPDFBaseConfiguration
are now noescape for better Swift compatibility. (#15077)
API
The constants in PSPDFAnnotationStyleManager
have been renamed and now better map to Swift. (#15077)
API
PSPDFDocument.annotationsForPageAtIndex:type:
is now guaranteed to never return nil. (#15077)
Removed
Deprecates PSPDFFileAnnotation
’s appearanceName
in favor of iconName
. (#15319)
Removed
Deprecates class-level methods on PSPDFProcessor
and introduces new new instance-based API that allows for cancellation. (#10480)
Added
Adds the ability to keep annotations on
PSPDFImageDocument
s editable even after saving. Requires the Image Documents feature to be enabled in your license. See
https://pspdfkit.com/blog/2018/image-documents/ for more information. (#14894)
Added
Adds an external file source option when adding new pages to a document with the document editor. (V##248)
Added
Adds blend modes to Annotations. This improves rendering for appearance steams with different blend modes. (#15080)
Added
Adds the ability to define arbitrary patterns for new pages when editing a document. (#14951)
Added
Adds the ability to embed files to PSPDFFileAnnotation
using -[PSPDFEmbeddedFile initWithFileURL:fileDescription:]
. See the new AddFileAnnotationProgrammaticallyExample
and AddFileAnnotationWithEmbeddedFile
in PSPDFCatalog. (#15210)
Changed
Improves JavaScript support, including form formatting, calculation, and validation. (#9501)
Changed
Improves XFDF output by omiting opacity
if set to the default (1.0). (#15354)
Changed
Improves rendering behavior for stamp annotations. Stamps are keeping their aspect ratio on resizing now. Stamps created with PSPDFKit now always use the same rendering, no matter if they were just created or after being saved in the document. The subject of stamps is now always rendered in uppercase characters. Custom stamps are now sized-to-fit before adding them to the document. (#1824)
Added
Added annotation name
to Instant JSON. Also renamed pspdfkit/file
name
to filename
to prevent collisions. (#14856)
Added
Added better detection for standard stamp subjects for Instant JSON. (#14919)
Changed
Cancelling a PSPDFRenderTask
now reduces further CPU usage more effectively. (#14218)
Changed
PSPDFPageRenderer
is now deprecated and will be removed in a later update. (#15189)
Fixed
Fixes a crash which occurred when manually searching a protected document. (#15177)
Fixed
Fixes a potential deadlock situation during document cache invalidation. (#15259)
Fixed
Fixes an issue where glyph frames were larger than expected due to unexpected values in their fonts. (#14169)
Fixed
Fixes an issue where newly created note annotations would require two taps for deselection. (#15221)
Fixed
Fixes security vulnerability CVE-2018-9127 in Botan, where wildcard certificates could be accepted for invalid hostnames. (#15374)
Fixed
Fixes an issue where some action destinations may not work properly. (#14901)
Fixed
Fixes a problem where editing some numeric form fields didn't show a completely numeric keyboard. (#15484)
Instant
Added
Added
Adds support for exporting and importing stamp annotations with images for Instant JSON. (#15296)
Changed
Improves error reporting regarding invalid JWTs. (Z#8755)
Removed
Deprecates all methods in PSPDFInstantClientDelegate
in favor of renamed methods to improve API clarity and consistency. (#13834, #15464)
Removed
Deprecates PSPDFInstantDocumentDescriptor
’s updateAuthenticationToken:
and downloadDocumentUsingAuthenticationToken:error:
in favor of the more specific reauthenticateWithJWT:
and downloadUsingJWT:error:
. (#13834)
Removed
Deprecates the notifications PSPDFInstantDidUpdateAuthenticationTokenNotification
, PSPDFInstantDidFailUpdatingAuthenticationTokenNotification
, and related PSPDFInstantAuthenticationTokenKey
in favor of the notifications PSPDFInstantDidReauthenticateNotification
, PSPDFInstantDidFailReauthenticationNotification
, and the related PSPDFInstantJWTKey
. (#13834)
Examples
Added
Adds a PSPDFCatalog example illustrating how to use a custom bookmark provider. (#15105)
Changed
Improves the Catalog's listing of examples. The Catalog now lists all the examples in the selected language. If an example is not available in the particular language selected, then the example in the other language is listed. (#15100)
7.5.2 - 4 May 2018
PSPDFKitUI
Fixed
Fixes an issue where selection would work incorrectly if a page was cropped or rotated. (#15042)
Fixed
Fixes the spread zoom not always being reset when scrolling back to a spread in the .scrollPerSpread
pageMode
. (#14825)
PSPDFKit
7.5.1 - 25 Apr 2018
PSPDFKitUI
Added
Adds a signer
subclassing hook to PSPDFSignatureViewController
, enabling setting the certificate used for digital signing programmatically. This makes it possible to only allow the user to create a digital signature, instead of an ink signature. (#14846)
Fixed
Fixes an issue where a crash could occur if PSPDFNoteAnnotationViewController
changed size while it was presenting an action sheet. (#14742)
Fixed
Fixes a keyboard avoidance offset issue during interactive keyboard dismissal. (Z#8690)
Fixed
Fixes document pages not being selected when the thumbnail was tapped on the bottom half. (#14764)
PSPDFKit
Changed
Improves compatibility of note annotations with certain 3rd-party viewers such as Apple Preview. (#14953)
Changed
Improves performance when annotations are loaded. (#14983)
Changed
Improves the logic when note icon indicators should be rendered. (#14961)
Changed
Saving image documents now keeps any additional extended attributes. (#14905)
Fixed
Fixes a problem where the text in unsigned form field overlays may be cut off. (#14922)
Fixed
Fixes an issue where images could be encoded in the PDF without optimization. (#14916)
Fixed
Fixes an issue where recording couldn’t be started for an existing sound annotation. (#15010)
7.5.0 - 11 Apr 2018
PSPDFKitUI
API
Adds a textView
parameter to -[PSPDFNoteAnnotationViewController updateTextView]
. Customize the object passed to updateTextView:
instead of using the textView
property. (#5721)
API
Deprecates PSPDFNoteAnnotationViewController
’s allowEditing
, beginEditing
, showCopyButton
, deleteAnnotationActionTitle
, deleteAnnotation:
, deleteOrClearAnnotationWithoutConfirmation
, textView
, and borderColor
. (#5721)
API
Groups PSPDFKitThumbnailViewFilter*
constants as extensible string enum. (#14571)
API
Removes the tapGesture
property on PSPDFNoteAnnotationViewController
and the class no longer conforms to UIGestureRecognizerDelegate
. (#5721)
API
PSPDFPageView
is no longer guaranteed to conform to PSPDFNoteAnnotationViewControllerDelegate
. (#5721)
API
Deprecates shouldBeginEditModeWhenPresented
on PSPDFNoteAnnotationViewController
, and showNoteControllerForAnnotation:showKeyboard:animated:
in favor of showNoteControllerForAnnotation:animated:
on PSPDFPageView
, as choosing to show the keyboard is now decided based on heuristics, if the user might want to start editing. (#14205)
Added
Adds UI to PSPDFNoteAnnotationViewController
that enables the user to see existing reviews for a comment, add their own review status, or change their review status. (#14421)
Added
Adds document type attribute to document load analytics event. (#14732)
Added
Adds showing and adding annotation replies in PSPDFNoteAnnotationViewController
. Replies will no longer be shown on the page. (#5721)
Added
Adds support for -[PSPDFConfiguration scrollOnTapPageEndEnabled]
in page curl layouts. (#13302)
Changed
Improves PSPDFPageModeAutomatic
behavior in connection with PSPDFPageTransitionScrollContinuous
. This now always prefers single pages to take better use of the available screen real estate. (#14822)
Changed
Improves the layout of the search view controller on devices with bottom safe area insets. (#12969)
Changed
Improves type safety by removing the __kindof
type annotation from -[PSPDFDrawView annotations]
, -[PSPDFPageView passthroughViewsForPopoverController]
, and -[PSPDFPageView selectedAnnotations]
. This only affects Objective-C. (#14490)
Changed
Changing page by tapping on page edges is now disabled by default. To enable this, change PSPDFConfiguration.scrollOnTapPageEndEnabled
to YES
. (#14418)
Changed
Ensures that PSPDFAnalyticsEventNameAnnotationCreationModeExit
is always logged. (#14839)
Changed
Ensures that the optional analytics provider tracks log deletion for all cases. (#14817)
Removed
Removes ellipses in menu items (UIMenuItem
) because there is no standard convention for this on iOS and space can be scarce. For example ‘Inspector…’ is now ‘Inspector’. (#14235)
Fixed
Fixes an issue that could result in a crash when the size class changes while in a page curl layout. (#14555)
Fixed
Fixes an issue that makes the page curl left or right align pages even though it is in single page mode. (#14555)
Fixed
Fixes an issue that triggered a page change animation in page curl in some cases even though the page was already visible. (#14528)
Fixed
Fixes an issue where PSPDFPageView
would display a wrong page in rare occasions. (#14442)
Fixed
Fixes an issue where annotations with the Invisible, Hidden, or NoView flags set could be tappable. (#14772)
Fixed
Fixes an issue where pages were not animating into place when showing or hiding the inspector. (#13627)
Fixed
Fixes an issue where paginated layouts would drift by a fraction of a point with every page if PSPDFViewController
is set to a non-integer size in the direction of scrolling. (#14543)
Fixed
Fixes annotations shown as overlays (notes) not respecting the Invisible, Hidden, and NoView flags. (#5721)
PSPDFKit
API
Deprecates PSPDFAnnotationOptionUserCreatedKey
. (#14669)
API
Renames PSPDFSignatureHashAlgorithmSHA386
to PSPDFSignatureHashAlgorithmSHA384
which is actually the correct name. (#13932)
API
tryLoadAnnotationsFromFileWithError:
has been removed from PSPDFFileAnnotationProvider
. Use loadAnnotationsWithError:
instead to customize annotation loading. (#14570)
API
Deprecates PSPDFTextBlock.glyphs
, PSPDFWord.glyphs
, and PSPDFSelectionState.selectedGlyphs
in favor of NSRange
-based APIs. (#14606)
API
Adds isGenerated
to PSPDFGlyph
to check if the glyph is an autogenerated filler. (#14606)
API
PSPDFGlyph.indexOnPage
is not -1
to indicate that it is a generated filler. Use PSPDFGlyph.isGenerated
instead. indexOnPage
can now be used to uniquely identify a glyph on a page, and is the index of the glyph in the PSPDFTextParser.glyphs
array. (#14606)
Added
Adds createdAt
, updatedAt
and creatorName
to Instant JSON. (#14443)
Added
Adds isReply
and inReplyToAnnotation
properties on PSPDFAnnotation
. (#5721)
Added
Adds properties for author-specific state on PSPDFNoteAnnotation
. (#5721)
Changed
Improves cleaning up resources in PSPDFDocument
's dealloc
. (#14586)
Changed
Improves performance when examining document permission features. (#14747)
Changed
Improves text selection performance in documents with a lot of text. (#14516)
Changed
Filters out invalid characters from a page's text. (#14516)
Changed
Performance improvements for documents with many data sources. (#14651)
Changed
Removing an annotation with removeAnnotations:options:
on PSPDFAnnotationManager
or PSPDFDocument
now also removes replies to that annotation. (#14385)
Changed
The relationship between PSPDFXFDFAnnotationProvider
and PSPDFFileAnnotationProvider
is now more explicit. If you use XFDF for form filling, you now need to keep around both providers. Furthermore, the annotation manager now only saves into the first annotation provider implementing the save method. Previously all were called, which could have led to incorrect results. (#14323)
Fixed
Fixes a crash that could happen during application termination. (#14483)
Fixed
Fixes a lock inversion when setting up the document providers. (#14525)
Fixed
Fixes a potential crash when saving a document. (#14082)
Fixed
Fixes a potential issue when removing annotations. (#14381)
Fixed
Fixes an issue that prevented correct caching of rendered pages. (#14390)
Fixed
Fixes an issue where -[PSPDFTextParser textWithGlyphs:]
would exclude the last glyph. (#14636)
Fixed
Fixes an issue where a flattened document shows a blank page in Preview. (#13708)
Fixed
Fixes an issue where action destinations would not be found if sorted incorrectly. (#14412)
Fixed
Fixes an issue where document checkpoints were not loaded for decoded document instances. (#14624)
Fixed
Fixes an issue where image data wasn't properly removed after rewriting the PDF. (#14708)
Fixed
Fixes an issue where searching for text in a document would return results with empty text blocks. (#14516)
Fixed
Fixes an issue where some PSPDFDocumentSecurityOptions
initializers would sometimes return nil. (#14646)
Fixed
Fixes an issue where the documents features
sometimes returned an incorrect value when called right after creating a PSPDFDocument
. (#14574)
Fixed
Fixes an issue where using a custom bookmark provider with readonly documents disabled adding and editing bookmarks. (#14574)
Fixed
Fixes animated GIF images support in the gallery. (#13897)
Fixed
Fixes document corruption issue when document has a header and is incrementally saved. (#14249)
Fixed
Fixes pages not being centered when zooming is disabled in landscape. (#14091)
Instant
Examples
Added
Adds PSPDFCatalog example illustrating how to rotate pages in 90 degree steps. (#14445)
Added
Adds a PSPDFCatalog example illustrating how to add a custom filter by subclassing PSPDFThumbnailViewController
. (#14380)
Fixed
Fixes Catalog "XFDF Annotation Provider, Encrypted" example. (#13912)
Fixed
Fixes an issue where the Document Editor icon was not visible in NewPageFromDocumentExample.swift
and ProgrammaticDocumentEditingExample.swift
. (#14641)
7.4.1 - 19 Mar 2018
PSPDFKitUI
PSPDFKit
Added
Adds PSPDFAESCryptoDataSink
. (#13912)
Fixed
Fixes an issue where the deletion of an annotation could not be undone properly. Important: Calling removeAnnotations:options:
on a PSPDFFileAnnotationProvider
no longer posts PSPDFAnnotationChangedNotification
! Deleted annotations are still being returned from dirtyAnnotations
until the next save — like before. They are, however, not returned from annotationsForPageAtIndex:
anymore. This behavior is also far less surprising. (#14305)
Fixed
Fixes a document corruption bug when the document has a header and is incrementally saved. (#14249)
Fixed
Fixes Catalog "XFDF Annotation Provider, Encrypted" example. (#13912)
Fixed
Fixes an animation glitch when rearrange pages with the document editor. (#14367)
Fixed
Fixes an issue where PSPDFTextParser.glyphs
could be incorrect for certain documents. (#10844)
Fixed
Fixes an issue where dropdown arrow on combo boxes are not seen when box has a small width. (#14326)
Fixed
Fixes an issue where dropdown arrows are still seen on combo boxes when document is flattened. (#9539)
Fixed
Fixes issue where pdfId
was required when importing a Instant JSON document. (#14494)
Fixed
Fixes potential deadlocks during annotation rendering. (#14534)
Fixed
Fixes an issue where opening large documents with marked content used very large amounts of memory. (#14415)
Fixed
Fixes potential deadlocks when opening a lot of documents. (#14503)
Fixed
Fixes an issue where PSPDFFile.fileData
did not lazily memory map the file data when being called from user code. (#14539)
7.4.0 - 2 Mar 2018
PSPDFKitUI
API
Replaces firstLineRect
, lastLineRect
, and innerRect
properties of PSPDFTextSelectionView
with rectForFirstBlock
, rectForLastBlock
, and selectionRects
. (#9677)
Added
Adds a PSPDFCatalog example illustrating how to create a form programmatically. (#14215)
Added
Adds a PSPDFCatalog example illustrating how to use the Instant JSON Annotation and Document APIs. (#14087)
Added
Adds an overlay message shown when digitally signing a document without a form field. (#13583)
Added
Adds support for selecting vertical text. (#322)
Changed
Improves compatibility with the React Native view component. (#14222)
Changed
Improves performance by only creating the text selection view's text parser when required. (#14291)
Changed
Improves performance when sharing file-based documents via the Open In activity. (#14011)
Changed
Improves visualization of thumbnails, especially when filtering for bookmarked or annotated pages. (#12512)
Changed
Improves text selection using PSPDFTextSelectionView
by selecting text in distinct blocks. (#322, #9677)
Changed
Improves performance when editing free text annotations. (#13971)
Changed
Improves scrolling and zooming performance. (#13971)
Changed
Changes the inspector to use the annotation type as the title instead of Style. (#14057)
Changed
Tapping to select an annotation in multi-select mode now works again. (#11432)
Fixed
Fixes a crash that happened when adding stamp annotations with 3rd party stylus support enabled. (#14086)
Fixed
Fixes an issue where annotation notes were not editable on iPhone with iOS 9. (#14323)
Fixed
Fixes an issue where bookmarks could be created but not saved into a document. (#9107)
Fixed
Fixes an issue where content insets were not respected in searchable choice form elements while searching. (#13987)
Fixed
Fixes an issue where switching between documents with different page bindings didn't update the scroll direction correctly. (#13849)
PSPDFKit
API
-[PSPDFContainerAnnotationProvider clearNeedsSaveFlag]
now asserts that it is called inside a write block! For more details, please refer to the documentation of PSPDFContainerAnnotationProvider(SubclassingHooks)
. (#14181)
API
Certain types in Swift have been renamed to improve interoperability. (#10491)
API
Deprecates encryptionAlgorithm
in PSPDFPrivateKey
, in favor of signatureEncryptionAlgorithm
, which is enum-typed. (#13940)
API
PSPDFDocumentSecurityOptions
initializers may return error instead of assert. (#10491)
Added
Adds PSPDFDocumentFeatures
as a central place for checking the availability of various features. (#9107)
Added
Adds a PSPDFCatalog example illustrating how to generate a PDF document on a mobile device without any server use. (#13776)
Added
Adds a new protocol, PSPDFExternalSignature, that can be used to provide a digital signature for a document externally. (#13940)
Added
Adds an example UpdateConfigurationWhenRotatingExample.swift
for changing the configuration when rotating the device. (#13820)
Added
Adds support for automatic access tracking for security scoped URLs. (#13863)
Added
Adds the shouldTrackDeletions
class property to PSPDFContainerAnnotationProvider
to customize the effect of removeAnnotations:options:
on dirtyAnnotations
. See PSPDFContainerAnnotationProvider.h
for more information. (#8839)
Changed
Adjusts the gap between two pages in continuous scroll mode. (#13877)
Changed
Changes the localized description of empty note annotations from Text to Note (localized). (#14057)
Changed
Improve error messages when digitally signing a document failed. (#13741)
Changed
Shows an error message when digitally signing failed instead of throwing an exception in some cases. (#13741)
Changed
PSPDFTextParser now respects reading order of text blocks defined in the PDF using Marked Content. (#9677, #322)
Fixed
Fixes FTS5 search on SQLite versions >= 3.20.0. (#14036)
Fixed
Fixes a deadlock when calling removeAllAnnotationsWithOptions:
on an instance of PSPDFContainerViewController
or a subclass and clarifies locking requirements. (#14178)
Fixed
Fixes an assertion when a non-specified named action was deserialized via Instant JSON. (#13804)
Fixed
Fixes an issue saving a document with invalid PDF syntax (empty dictionary key). (#14009)
Fixed
Fixes an issue where -[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
attached the annotation to the document. (#14140)
Fixed
Fixes an issue where some annotations in a custom annotation provider were not rendered properly. (#12762)
Fixed
Fixes an issue where some form fields with custom FQNs may not be signed correctly. (#14309)
Fixed
Fixes an issue where the hash of two equal PSPDFAnnotation objects could be different. (#13852)
Fixed
Fixes an issue where the wrong font was selected. (#14027)
Fixed
Fixes crashes on document unload when FormTabOrderCalculator is being processed. (#13976)
Fixed
Fixes issue with text selection in certain cases. (#13803)
Fixed
Fixes potential crash when saving files with irregular outlines. (#14116)
Fixed
Fixes the issue where PSPDFDocument.hasDirtyAnnotations
would return NO
after removing an annotation from a custom annotation provider. (#8839, Z#5114)
Instant
Added
Adds PSPDFInstantErrorInvalidURL
and stricter validation of the server URL to PSPDFInstantClient’s initializer. (#14158)
Changed
Improves recovery from network failures during sync by monitoring reachability of the Instant server. (#11901, Z#7385)
7.3.1 - 26 Jan 2018
PSPDFKitUI
Added
Adds the ability to undo clear actions while editing free text annotations. (#13828)
Changed
Improves touch handling for the scrollable thumbnail bar mode for documents with only a few pages. (#13861)
Fixed
Fixes a crash that occur if shake to undo is invoked during free text editing. (#13829)
Fixed
Fixes an issue where presented annotations toolbar was not updated after changing controller's PSPDFConfiguration
. (#13858)
Fixed
Fixes an issue where tapping a free text annotation while selected doesn't start editing on 3D Touch compatible devices, or when using Apple Pencil. (#11424)
Fixed
Fixes an issue where the displayed page labels were incorrect when switching layouts right after initialization. (#13824)
Fixed
Fixes an issue which switching to the correct page when rotating from a double to a single page mode. (#13887)
Fixed
Fixes an issue with restoring the view state when rotating while in a page curl layout. (#13823)
Fixed
Fixes missing search bar in the outline and annotation list on iOS 11, if the corresponding view controllers were presented without being wrapped in a navigation controller. (Z#7994)
Fixed
Fixes the last stroke drawn in an ink annotation with opacity below 100% appearing too dark until the annotation is deselected. (#13895)
Fixed
Fixes overrideClass:withClass:
in the configuration not working with PSPDFPageView
. (#13881)
Removed
Removes the PSCUpdateConfigurationWithoutReloadingExample
example, which was using outdated API. (#13801)
PSPDFKit
Added
Adds a allowedPathExtensions
property to PSPDFLibraryFileSystemDataSource
to configure the types of files it returns for indexing. (#13967)
Fixed
Fixes an issue where checkbox values were not updated correctly. (#13843)
Fixed
Fixes an issue where digitally signing a document multiple times may invalidate previous signatures. (#13582)
Instant
7.3.0 - 12 Jan 2018
PSPDFKitUI
API
Introduces -[PSPDFDocumentEditorDelegate documentEditorRequestsFullReload:]
, which requests a full document editor UI reload. (#13168)
API
Replaces policy event strings on PSPDFApplicationPolicy
with an extensible enum. (#13722)
API
Adds +[PSPDFImagePickerController availableImagePickerSourceTypes]
to allow specifying the source types of a PSPDFImagePickerController
subclass. See CustomImagePickerControllerExample
in PSPDFCatalog for details. (#13724)
Added
Adds a PSPDFCatalog example illustrating how to go to a specific outline programmatically. (#13166)
Added
Adds a PSPDFCatalog example illustrating how to customize page labels. (#13343)
Added
Adds a PSPDFCatalog example of how to monitor for touch events. (#13706)
Added
Adds a new signatureIntegrityStatus
to PSPDFSignatureStatus
, which shows if the document has been modified in a way that has broken a digital signature. (#13570)
Added
Adds a PSPDFConfiguration
preset for easy configuration of PDF controllers showing image documents. (#13538)
Changed
Improves detection of the page focused by the user when rotating. (#12558)
Changed
Improves text selection behavior. It's now possible to start selecting and marking up text in one direction and then switch to the opposite direction in a single gesture. (#11415)
Changed
Improves the PSPDFDocumentPickerController
documentation. (#8417)
Changed
Improves support for document editing inside the tabbed view controller. (#13168)
Changed
Improves performance of the annotation list view controller. (#13546)
Changed
Improves saving when the application is backgrounded or terminated. (#13586)
Changed
Improves support when embedding multiple PSPDFViewController
instances into a UIPageViewController
instance. (#13702)
Changed
Improves text markup selection behavior when starting a selection outside of text and moving over text afterwards. (#11937)
Changed
Improves the coloring of the filter segmented control at the top of the thumbnails view. It now has higher contrast against light backgrounds and uses the tint color if it provides sufficient contrast. (V#1369)
Changed
Improves the accuracy of the information about the digital signature validation process by demoting some non-critical errors to warnings. (#13570)
Changed
Improves the page grabber layout in various configurations. (#13465)
Changed
Improves the annotation toolbar layout when using the page grabber or a vertical scrubber bar. (#13465)
Changed
Improves the sound annotation player layout when using a vertical scrubber bar on iPhone X. (#13465)
Changed
Improves language detection for text to speech. (#8939)
Changed
Hide the annotation section in PSPDFDocumentSharingViewController
for documents which do not have annotations. (#13179)
Changed
The showsScrollIndicator
properties on PSPDFDocumentView
and PSPDFDocumentViewController
now default to NO
in scroll per spread mode. (#13506)
Fixed
Fixes an issue where the scrubber bar was unable to switch to the first or last page in some documents. (#13258)
Fixed
Fixes an issue where an assert could be triggered when replacing a file while it is being displayed. (#13362)
Fixed
Fixes an issue with the page view label formatter where the custom formatter was not used. (#13343)
Fixed
Fixes an issue where rotating from double to single page spreads leads to the wrong page when editing a note annotation. (#9524)
Fixed
Fixes an issue with transparent background on list of open documents. (V#1345)
Fixed
Fixes an issue where draw annotation tools were not properly reselected after changing layouts or rotating the device. (#12907)
Fixed
Fixes an issue where read-only signed digital signatures may not be tappable. (#13573)
Fixed
Fixes unnecessary document saves triggered by loading certain annotation types. (#13734)
Fixed
Fixes an issue where embedded file preview was missing the close button when useParentNavigationBar
was set to YES
. (#13699)
Fixed
Fixes a potential crash which could occur when setting a custom PSPDFApplicationPolicy
in +[PSPDFKit setLicenseKey: options:]
. (#13725)
Fixed
Fixes an issue where PDFs with corrupted pages where not rendered at all in certain layout configurations. (#13720)
Fixed
Fixes an issue where pages with different sizes were positioned incorrectly in thumbnail mode on devices with 3x screens. (#13693)
Fixed
Fixes an issue where some list boxes do not display all the possible options. (#13454)
Fixed
Fixes an issue where in some view hierarchies the page size was only using the visible screen space instead of the size of the view. (#13579)
Fixed
Fixes an issue where the content is offset when scrolling backwards. (#13551)
Fixed
Fixes an issue with continuous scrolling layouts that have fillAlongsideTransverseAxis
disabled. (#13688)
PSPDFKit
API
Deprecates the baseURL
property from PSPDFFileDataProvider
. (#12525)
API
Deprecates baseURL
-based PSPDFFileDataProvider
initializers. (#12525)
Added
Adds PSPDFImageDocument
for simple annotating of image files using PSPDFKit. (#13538)
Added
Adds form field values to Instant JSON. (#13335)
Added
Adds a new log level (PSPDFLogLevelCritical
), that is enabled by default. (#13212)
Added
Adds support for PEM-encoded certificates in PKCS#7 files. (#13698)
Changed
Improves file coordination update notifications, by ignoring cases that do not represent content changes. (#13394)
Changed
Improves the detection of digital signatures in third-party PDF readers. (#13593)
Changed
Improves the stability of the digital signing process with some certificate authorities with missing fields. (#13694)
Changed
Improves locking during document cache reset. (#10984)
Fixed
Fixes an issue where zooming in on large free text annotations, stamps, or form fields could use a lot of memory, which could result in crashing. (#13685, #13686)
Fixed
Fixes missed search terms which span over a newline without a hyphen. (#11862)
Fixed
Fixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
Fixed
Fixes an issue with sound annotations losing sound data when using XFDF. (#13324)
Fixed
Fixes specific issue where previous xref has the same object number as a newly created object. (#13183)
Fixed
Fixes an issue where PSPDFGalleryManifest
could override a link annotation's url in some cases. (V#1084)
Fixed
Fixes an issue where image stamp annotations appeared scaled up. (#13703)
Fixed
Fixes a problem where signed documents loaded using a data provider may incorrectly warn about changes when validated. (#13549)
Fixed
Fixes file coordination issues that could occur while the application is backgrounded. (#13652)
Fixed
Fixes an issue where a signed document may show a warning if inspected with a PDF lint tool. (#13719)
Fixed
Fixes an issue where PSPDFFile
could in some cases return stale data for a file. (#13614)
Fixed
Fixes an issue where the opacity was not applied to the callout of a PSPDFFreeTextAnnotation
. (#13576)
Fixed
Fixes an issue where some annotation widgets' appearance streams were not updated properly when the underlying form field's value changed. (#13344)
Fixed
Fixes highlight markups on some specficic documents (#13768)
Instant
API
Deprecates -[PSPDFInstantClient initWithServerURL:]
which crashes when data cannot be read from or written to disk. This is a breaking change if you use Swift. (#13365)
Added
Adds -[PSPDFInstantClient initWithServerURL:error:]
as the designated initializer. This allows failing gracefully when data cannot be read from/written to disk. (#13365)
Added
Adds PSPDFInstantDocumentState
describing the possible states that a PSPDFInstantDocumentDescriptor
can be in. Notifications are posted for relevant state transitions, providing significantly better feedback about a document’s sync cycle. (#11324)
Added
Adds API to stop a running sync cycle and improves discoverability and accuracy of documentation. (#13247)
Fixed
Fixes an issue where some annotations created with default properties were not synced. (#13348)
Fixed
Fixes a memory leak related to sync requests. (#13540)
Fixed
Fixes a dangling pointer issue when parsing invalid server responses. (#13557)
7.2.1 - 14 Dec 2017
PSPDFKit now requires and is built with Xcode 9.2 (9C40b).
PSPDFKitUI
Changed
Update the sound annotation playback toolbar view while scrolling is active. (#13274)
Changed
Improves positioning of form elements during editing. (#13208)
Fixed
Fixes a problem where some text in form fields may be cut off. (#13242)
Fixed
Fixes an issue where draw and selection views where not recreated when changing the page or the page transition. (#12907)
Fixed
Fixes an issue where the scrubber bar didn't lay out correctly when switching documents. (#13215)
Fixed
Fixes an issue where an assert could be triggered while zooming. (#13403)
Fixed
Fixes a potential crash during scroll view observing. (Z#7695)
Fixed
Fixes a memory leak in the signature view controller. (#13463)
Fixed
Fixes ink, shape, and line annotations not being rendered correctly if they were selected while the view changes size. (#13520)
Fixed
Fixes an issue where an assert could be triggered while setting an empty viewport to a document view layout. (Z#7763)
PSPDFKit
Changed
Improves performance when fetching document level JavaScript objects. (#13281)
Fixed
Fixes an issue where an ink annotation's background (fill color) was incorrectly ignored. (#13216)
Fixed
Fixes an issue where documents with links may not point to the correct destination after being exported. (#13341)
Fixed
Fixes missed search terms which span over a newline without a hyphen. (#11862)
Fixed
Fixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
Fixed
Fixes an issue with sound annotations losing sound data when using XFDF. (#13324)
Fixed
Fixes incorrect glyph frames being returned from PSPDFTextParser
for documents with vertical or rotated text. (#13423)
Fixed
Fixes some crashes when undoing and redoing operations. (#12358)
Fixed
Fixes a crash in PSPDFFileAnnotationProvider
when the document has not been initialized properly. (#12358)
Fixed
Fixes some crashes in PDFResourceProvider
caused by a race condition. (#13413)
Fixed
Fixes potential crashes when some classes are deallocating. (#13421)
Instant
Added
Adds a PSPDFCatalog example that uses Instant to load documents from our public preview server and demonstrates real-time annotation synchronization. (#11968)
Fixed
Fixes annotation positioning when created on a page with a transform. (#12492)
7.2.0 - 23 Nov 2017
PSPDFKitUI
Changed
Improves page grabber user experience when scrolling documents with various sized pages. (#11642)
Changed
No longer shows status HUD while opening a document in another app since this is usually fast. (#13209)
Fixed
Fixes an issue where the page grabber was not able to scroll all the way to the top or the bottom of a document in some view configurations. (#11642)
Fixed
Fixes an issue that could lead to a crash when switching between documents with different page numbers in a tabbed bar view controller. (#12513)
Fixed
Fixes a crash when snapshotting a page view in a page curl layout before the view was rendered for the first time. (V#1282)
Fixed
Fixes a crash when scrolling and zooming to a page when already zoomed in. (#13225)
PSPDFKit
API
Deprecates PSPDFJSONSerializing
in favor of Instant JSON (See PSPDFAnnotation+Instant.h
). (#10516)
Added
Adds Instant JSON support to PSPDFDocument
and PSPDFAnnotation
. (#10516)
Fixed
Fixes a rare text extraction issue where some space characters are not correctly extracted. (#6273)
Fixed
Fixes an issue where stamp annotations get blurry. (#12981)
Instant
Important:
This release requires PSPDFKit Server 2017.8 for syncing. If you try to connect to an older version of the server, syncing will fail. For further information, please refer to the migration guide.
Added
Adds identifierForAnnotation:error:
and annotationWithIdentifier:forDocument:error
to PSPDFInstantDocumentDescriptor
. 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
PSPDFKitUI
API
Replaces PSPDFAnnotationIgnoreNoteIndicatorIconKey
in favor of PSPDFAnnotation.shouldDrawNoteIconIfNeeded
. (#12687)
API
Adopts NS_ERROR_ENUM
for error codes. This is source compatible for Objective-C but might require small adjustments in Swift code. (#13023)
API
The delegate of the scroll views returned in documentViewController:configureScrollView:
and documentViewController:configureZoomView:forSpreadAtIndex:
can now be set. (#13013)
API
Adds an NSError
parameter to the completion handler of -[PSPDFPageCellImageLoading requestImageForPageAtIndex:availableSize:completionHandler:]
. (#11499)
Added
Adds UI controls and model level APIs for copy and paste operations on the document editor. (#11972)
Added
Adds PSPDFCatalog example illustrating how to switch between double and single page mode without reloading. (#12880)
Added
Adds PSPDFDrawCreateModeAutomatic
as the new default drawCreateMode
used by PSPDFDrawView
. This intelligently splits drawing into multiple ink annotations. This is especially beneficial when using Apple Pencil. (#9222)
Added
Adds value PSPDFSignatureInputMethodMouse
to PSPDFSignatureInputMethod
enum which is used when the digital signature was created with a mouse. (#12865)
Added
Adds PSPDFCatalog example illustrating how to programmatically add transparent stamp annotations. (#13075)
Added
Adds finer grained scrolling API, applicable for continuous scrolling mode. See -[PSPDFDocumentViewController scrollToSpreadAtIndex:scrollPosition:animated:]
for details. (#12586)
Added
Adds labelFormatter
property to PSPDFPageLabelView
to customize page label. (#13003)
Added
Adds useDiskCache
to PSPDFDataProviding
and PSPDFDocument
to configure using the disk cache on a per-document level. (#11815)
Added
Adds PSPDFCatalog examples illustrating how to add vector stamp annotations. (#13075, #13076, #13080)
Changed
Improves performance of drawing ink annotations, which is especially noticeable when using Apple Pencil. (#9222)
Changed
Improves handling of rendering errors in the thumbnails view. (#11499)
Changed
Improves displaying of the icon for annotations that have a note attached. (#12555)
Changed
Improves content insets and prevents the user from zooming into the areas outside a spread. (#12268)
Changed
Improves scroll indicator insets on iPhone X. (#12755)
Changed
Improves document layout on iPhone X. (#12753)
Changed
Improves system edge gestures handling with visible annotation toolbar. (#12837)
Changed
Improves usage of quantity strings (plurals). (#13039)
Changed
Improves scroll behavior in continuous scroll mode when zoomed in. (#13084)
Changed
Improves initial positioning in vertical continuous mode. (#12777)
Changed
Improves content offset behavior during user interface fadein in vertical continuous mode. (#12777)
Changed
Improves default color presets, so they better fill the space on iPhone X and 12.9" iPad. (#13117)
Changed
Newly added pages via the Document Editor will be added at the end of the document. (#12533)
Changed
Setting scrollEnabled
, alwaysBounce
, or showsScrollIndicator
on PSPDFDocumentViewController
doesn't reload the view hierarchy anymore. (#13089)
Changed
Link highlights are no longer shown for full page annotations. (#13163)
Fixed
Fixes issue with the invisible filters in document editor on iOS 11. (#12730)
Fixed
Fixes issue with annotation toolbar not being able to attach to the top in nested navigation controllers setup. (#12821)
Fixed
Fixes the thumbnails view not updating on annotation changes when a filter is applied. (#11637)
Fixed
Fixes issues where the content insets for document views were not properly calculated. (#12808)
Fixed
Fixes issue where text in form fields are always black. (#12449)
Fixed
Fixes a crash when rotating from double page spreads in landscape to single page spreads in portrait. (#12983)
Fixed
Fixes a crash when using additionalScrollViewFrameInsets
in continuous scrolling layouts. (#13079)
Fixed
Fixes a regression that caused pages to be slightly zoomed in after rotation. (#12825)
Fixed
Fixes issue where the navigation bar did not fade out with the user interface on iOS 10. (#12912)
Fixed
Fixes it not being possible to scroll to the bottom of the color presets in some view sizes such as on a 4" iPhone in landscape. (#13096)
Fixed
Fixes an issue where scrolling when zoomed in continuous scroll mode would be jumpy. (#12454)
Fixed
Fixes an issue where spreads larger than the viewport size would start in the center. (#12852)
Fixed
Fixes an issue where scrolling with the page grabber could cause the page to shift when zoomed in. (#12985)
Fixed
Fixes actions not being executed for full page annotations. (#13163)
Fixed
Fixes an issue where the annotation toolbar could show only a subset of buttons after inserting a signature on iPhone. (#13106)
Fixed
Fixes an issue where the status bar was incorrectly shown or hidden on iPhone, when a PDF controller was re-shown in a different orientation. (#13077)
Fixed
Fixes an issue where a spread view could not be found when restoring view states which led to an assertion. (V#1261)
Fixed
Fixes a rare crash that could occur during rotation in page curl mode. (#12877)
Fixed
Fixes an issue when applying additional scroll view frame insets to a scroll per spread layout. (#12734)
PSPDFKit
API
Deprecates PSPDFAnnotationTriggerEventLooseFocus
in favor of PSPDFAnnotationTriggerEventLoseFocus
. (#13078)
Changed
Improves detection of RichMedia elements and always prefers to show controls for audio-only tracks. (#12986)
Changed
Improves the performance of document outline parsing when the document is very big. (#11854)
Fixed
Fixes the positioning of the underline on text when no ascending characters are present on the line. (#11489)
Fixed
Fixes a problem where some PDF documents may not show every form field element. (#12998)
Fixed
Fixes an rare crash in PSPDFLibraryFileSystemDataSource
due to mutation of a set while enumerating it. (#12987)
Fixed
Fixes a potential issue when trying to interact with a form whilst a PSPDFProcessor
is in progress. (#12973)
Fixed
Fixes an issue where some highlight annotations were rendered incorrectly in specific PDFs. (#12937)
Fixed
Fixes missing document link action when destination is not defined. (#12917)
Fixed
Fixes a potential issue when trying to interact with a form whilst a PSPDFProcessor
is in progress (#12973)
Instant
Important: This is the last release of Instant compatible with PSPDFKit Server 2017.7 and earlier. The next release will require 2017.8. This release adds showing an alert informing users that they need to update your app if the server version is too new. You should update your app with this version of Instant as soon as possible so once you update the server to 2017.8 users are informed of why document downloading and syncing does not work and how to fix it. For further information, please refer to the migration guide.
Added
Adds showing the user an alert if the Instant framework version is too old to connect to the server. This can be disabled with the new shouldShowCriticalErrors
property on PSPDFInstantViewController
. (#12870)
Added
Adds error codes for the cases where the client and server have incompatible versions: PSPDFInstantErrorOldClient
and PSPDFInstantErrorOldServer
. (#12720)
Fixed
Fixes PSPDFInstantSyncingLocalChangesDisabled
symbol not being exported. (Z#7443)
Fixed
Fixes an issue that could lead to a failed assertion when adding annotations while there were unsynced changes. (#13122, Z#7442)
7.0.3 - 26 Oct 2017
PSPDFKitUI
Changed
Improves note view controller insets on iPhone X. (#12816)
Changed
Improves thumbnail sizing in the document editor on iPhone X. (#12815)
Changed
Improves the search controller layout on iPhone X. (Z#7121)
Fixed
Fixes issues with the fullscreen gallery layout on iPhone X. (#12731)
Fixed
Fixes a regression that prevented searching for fonts in PSPDFFontPickerViewController
. (#12831)
Fixed
Fixes an issue with the annotation toolbar not respecting the safe area in the top position. (#12833)
Fixed
Fixes the sound annotation player layout if a bottom toolbar is shown. (Z#7266)
Fixed
Fixes an issue where modally presented PSPDFTabbedViewController
wasn't displaying the close button. (#12811)
Fixed
Fixes a crash that could occur in continuous mode, if scrolling was still ongoing while the PDF controller was being dismissed. (V#1250)
Fixed
Fixes an issue that scrolled to the wrong offset when calling setContinuousSpreadIndex:
on a zoomed in document with layout that has spreadBasedZooming
disabled. (#12788, V#1253)
Fixed
Fixes it not being possible to create some annotation types after changing pages while the tool is being used, typically while using Apple Pencil. (#12744)
Fixed
Fixes 'Open In' not correctly working on iOS 10 and 9. (#12829)
Fixed
Fixes the color picker layout on iPhone X. (#12854)
Fixed
Fixes zooming to a search result making it fill the entire screen. (#12441)
Fixed
Fixes PSPDFConfiguration.searchResultZoomScale
not being respected. Changes default to specify automatic zoom scale. (#12675)
Fixed
Fixes the thumbnails view sometimes not scrolling or not showing some pages if the document’s first page has a different aspect ratio to other pages. (V#1219)
Fixed
Fixes blurry text fields when zoomed into a form. (#12661)
Fixed
Fixes an issue when PSPDFKit is used in projects that do not use ARC. (#12892)
PSPDFKit
Added
Adds support for transferring document level JavaScript when processing a document (#12769)
Fixed
Fixes an issue with file size when flattening annotations. (#12749)
Fixed
Fixes an issue in the bookkeeping of spread views which resulted in an assertion when looking for a specific page view. (#12654)
Fixed
Fixes an issue where PSPDFProcessor
didn't export some annotations in particular documents. (#11795)
Fixed
Fixes an issue when saving a document that has been restored from a checkpoint. (#12890)
Fixed
Fixes an issue with incorrect tab order in forms. (#12902)
Fixed
Fixes an issue where some flattened documents may not show correctly in third party readers. (#12901)
Fixed
Fixes an issue where actions weren't properly persisted. (#12884)
Fixed
Fixes an issue when exporting XFDF with non-ascii characters. (#12892)
Fixed
Fixes an issue when the appearance stream of form elements was not correctly reset when applying XFDF values. (#12892)
7.0.2 - 20 Oct 2017
PSPDFKitUI
API
Deprecates externalScreensDisableScreenDimming of PSPDFScreenController, in favor of PSPDFBrightnessManager.idleTimerManagement. (#12601)
Added
Adds the ability to override the file name when using PSPDFOpenInCoordinator
. See CustomSharingFileNamesExample
for details. (#12289)
Added
Adds -[PSPDFViewController documentViewControllerDidLoad]
as a hook to customize the appearance of a PSPDFDocumentViewController
. (#12645)
Added
Adds options for smart management of the idle timer to PSPDFBrightnessManager
. (#12601)
Added
Adds additionalScrollViewFrameInsets
and additionalContentInsets
to PSPDFConfiguration
to easily adjust what used to be margin
and padding
in v6. (#12736)
Changed
Moves PSPDFBrightnessManager
to the PSPDFKit
singleton. (#12601)
Changed
The PSPDFScreenController
is now more flexible and offers an additional delegate call to configure the mirroring view controller. Also see the new ScreenMirroringExample
in PSPDFCatalog. (#12778)
Changed
Improves the page grabber design. (#11079)
Changed
Improves the thumbnail bar layout on iPhone X. (#12702, #12703)
Changed
Improves the flexible toolbar (annotation and document editor toolbar) layout on iPhone X. (#12727)
Changed
Improves screen mirroring when inner scroll view offset is changed. (#12791)
Changed
Improves the page grabber layout on iPhone X. (#12729)
Changed
Improves the thumbnail view layout on iPhone X. (#12728)
Changed
Improves content and scroll indicator inset behavior in vertical continuous mode. (#12575, #12739)
Changed
Improves the layout of the note annotation view controller on iPhone X. (#12789)
Changed
Improves support for modifying PSPDFViewController.view
's frame. (#12743)
Changed
Form button touch down events no longer require a minimum tap time. (#12709)
Fixed
Fixes a regression on iOS 11 where the inline search mode didn't accept touches. (#12671)
Fixed
Fixes an issue where the page view was black for a split second when dismissing a modal view controller in front of it. (#12345)
Fixed
Fixes an issue where a keychain warning was logged in invalid cases. (#12658)
Fixed
Fixes an issue where the next page did not become visible in PSPDFScrollPerSpreadLayout
based view hierarchies while bouncing a zoomed in spread. (#12269)
Fixed
Fixes a crash when clearing widget annotations in PSPDFAnnotationTableViewController
. (#12797)
Fixed
Fixes content not being centered when zooming out. (#12365)
Fixed
Fixes an issue where the view state was not restored properly on rotation. (#12673)
Fixed
Fixes an issue where the frame of annotations and selected text was not updated correctly when zooming on a page. (#12514)
Fixed
Fixes an issue where scrolling to a page via the scrubber bar didn't work in some cases. (#12473)
Fixed
Fixes an issue when restoring the state with an invalid document in place. (V#1238)
Fixed
Fixes an issue when restoring state when zoomed into a document. (V#1243)
Fixed
Fixes an issue where PSPDFTextFieldCell
used a too narrow inset on iOS 11. (#12737)
Fixed
Fixes an issue where annotation inspector couldn't be presented in vertical scrolling mode. (#12718)
Fixed
Fixes an issue with content insets when the keyboard showed up. (#12652)
Fixed
Fixes layout of table view cells including a slider. (#12754)
Fixed
Fixes the flexible toolbar not supporting the top position on iPhone X. (#12784)
PSPDFKit
Added
Adds support for proper removal of PSPDFFormElements
when calling removeAnnotations:
. (#12797)
Changed
Improves correctness for JavaScript util.printf
call. (#12759)
Changed
Improves reliability when saving documents with broken cross-reference tables. (#12212)
Fixed
Fixes issues with font selection for non latin languages. (#12297, #11639)
Fixed
Fixes issues when restoring from checkpoints. (#12669)
Fixed
Fixes an issue where text in some form fields may be cut. (#12494 and #11287)
Fixed
Fixes an issue rendering text while zoomed in specific documents. (#12392)
Fixed
Fixes an issue where underline annotations and text extraction may not work correctly for some documents. (#12070)
Instant
Added
Adds +[PSPDFInstantClient dataDirectory]
to access the path where Instant stores documents and annotations, which may be used to set a custom data protection class for Instant. (#12710)
Fixed
Fixes lock inversions that could cause live- or deadlocks when syncing finished while the document was still being parsed. (#11739)
7.0.1 - 12 Oct 2017
PSPDFKitUI
Added
Adds PSPDFDragAndDropConfiguration
to customize how and where Drag and Drop should work. (#12538)
Changed
Before storing images, PSPDFKit now checks for NSPhotoLibraryAddUsageDescription
and warns if not set. (#12528)
Changed
Improves the bottom sound annotation player layout on iPhone X. (#12536)
Changed
Improves behavior when tapping the edge of the page to scroll. (#12445)
Fixed
Fixes an issue where the content offset was wrong when opening single page documents when a PSPDFContinuousScrollingLayout
was used. (#12500)
Fixed
Fixes an issue where toolbar icons could be displayed smaller than they should if the toolbar was updated too early in some cases. (#12472)
Fixed
Fixes the last double page spread in the thumbnails view being shown separated. (#12506)
Fixed
Fixes several issues related to the continuous spread index by making the continuous spread index being derived from the center. (#12366, #12416, #12264, #12502, #12483)
Fixed
Fixes an issue with the document label overlapping the status bar in case no navigation bar is shown. (#12401)
Fixed
Fixes an image resource which was referenced invalid in the free text annotation accessory keyboard toolbar. (#12511)
Fixed
Fixes an issue where the image editor couldn't be dismissed. (#12530)
Fixed
Fixes an issue where class overrides originating from PSPDFPageView
were not used. (#12540)
Fixed
Fixes an issue with the sound annotation player not hiding when deleting the corresponding sound annotation. (#12529)
Fixed
Fixes an issue where spread views removed from view hierarchy could be kept as visible which could cause assertion failures. (V#1213)
Fixed
Fixes an issue with annotation changes not being saved before digitally signing a document. (#12195)
Fixed
Fixes an issue where under certain view configurations, creating a new signature on an iPhone could fail. (#12570)
Fixed
Fixes an issue where user interactions were ignored during showing and hiding of the user interface. (#12414)
Fixed
Fixes an issue where rotating from portrait single-page mode to landscape double-page mode would cause the viewport to be zoomed in on the first page. (#12474)
Fixed
Fixes an issue where the annotation list would become unresponsive when a large number of annotations were updated at a time. (#11539)
PSPDFKit
Instant
7.0.0 - 4 Oct 2017
PSPDFKit 7 is a major new release. PSPDFKit has been split into two frameworks: PSPDFKit.framework
for model and parser classes, and PSPDFKitUI.framework
for UI functionality including view controllers.
Below is a summary of the API changes in this release. For a full list, with our suggested migration strategy for each API that has been changed or removed, please see the migration guide, which will also help with the framework split.
PSPDFKitUI
API
Overhauls the view hierarchy for displaying documents. This involves many API changes. See the View Hierarchy section in the migration guide for much more detail. (#9773)
API
Replaces various API around signature saving with a more versatile PSPDFSignatureSavingStrategy
used by PSPDFSignatureViewController
and PSPDFConfiguration
for managing saving signatures. See the Signatures section in the migration guide for a full list of changes. (#9471)
API
Changes the stored ink signature type of PSPDFSignatureStore
from PSPDFInkAnnotation
to PSPDFSignatureContainer
. PSPDFInkAnnotation
objects will be migrated automatically to the new PSPDFSignatureContainer
. (#11841)
API
Renames PSPDFUnsignedFormElementViewController
to PSPDFCertificatePickerViewController
including the related delegate and methods. (#11841)
API
Removes the document signing logic of PSPDFCertificatePickerViewController
and removes unsignedFormElementViewController:signedDocument:error:
. This is now handled via PSPDFDigitalSignatureCoordinator
. (#11841)
API
Removes ink annotation selection from PSPDFCertificatePickerViewController
. This is now handled via PSPDFDigitalSignatureCoordinator
. (#11841)
API
Renames PSPDFHUDView
to PSPDFUserInterfaceView
with corresponding changes to related API. See the migration guide for a full list. (#9462)
API
Renames PSPDFAnnotationViewProtocol
to PSPDFAnnotationPresenting
and PSPDFStatefulViewControllerProtocol
to PSPDFStatefulViewControlling
. (#11237)
API
Renames -[PSPDFTextSelectionView selectionRect]
to innerRect
. (#11870)
API
Renames updatepageIndex:animated:
to reloadPageAtIndex:animated:
on PSPDFViewController
. (#11764)
API
Renames PSPDFLinkActionInlineBrowserLegacy
to PSPDFLinkActionInlineWebViewController
. (#12424)
API
Replaces document info option strings on PSPDFDocumentInfoCoordinator
with an extensible enum. (#11735)
API
Replaces -[PSPDFToolbarButton setImage:]
with a similarly named property PSPDFToolbarButton.image
. (#11975)
Added
Adds support for changing the page mode when in a vertical scroll direction and in continuous page transition. (#12304)
Added
Adds PSPDFDigitalSignatureCoordinator
, used for customizing the path for storing a digital signed document and document presentation. (#11841)
Added
Adds support for selecting a digital signature certificate from the ink signature creation dialog. (#11841)
Added
Adds support for digitally signing a document without an existing signature form element, by letting the user draw a new signature form element before signing. (#12083)
Added
Adds support for adding biometric data to digital signatures created via the UI. (#980)
Added
Adds a new sound annotation player that is shown on the bottom. Configurable via soundAnnotationPlayerStyle
. (#11464)
Added
Adds PSPDFDocumentInfoController
protocol implemented by controllers used in PSPDFDocumentInfoCoordinator
, to improve removal of invalid controllers. (#11458)
Added
Adds -[PSPDFSelectionView panGestureRecognizer]
and converts PSPDFSelectionView
to be purely gesture recognizer based. (#12310)
Added
Adds new vector based icons. (#11975)
Changed
Improves the signature experience on Plus-sized iPhones. (#8857)
Changed
Improves haptic feedback when moving the flexible toolbar. (#9093)
Changed
Improves translations for various languages (#12191)
Changed
Improves support for smaller images on the compact landscape phone bars. (#11975)
Changed
Improves navigation bar animations and layout guide handling during user interface visibility transitions. (#12229)
Changed
Improves default size calculation logic for various view controllers. (#12375)
Changed
Uses a dark keyboard and keyboard accessory appearance when in night mode. (#11510)
Changed
Introduces a new catalog example theme. (#12384)
Changed
Works around an issue with iOS 11 Smart Punctuation that inserts a null character after a triple dash-tap. (rdar://34651564, #12280)
Fixed
Fixes the long press to reset color preset feature on the annotation style inspector. (Z#6873)
Fixed
Fixes a memory leak in continuous scroll mode. (#11971, #11134)
Fixed
Fixes the default overlayViewController
's view jumping down after appearing. (#11645)
Fixed
Fixes a rare assertion when animating draw view bounds changes. (#12209)
Fixed
Fixes annotation toolbar layout issues on iOS 11. (#11975)
Fixed
Fixes animation issues occurring during the thumbnail view transition. (#12267)
Fixed
Fixes scrubber bar flicker during the user interface fadein animation. (#12324)
PSPDFKit
API
Removes most PSPDFDocument
initializers and all class factory methods, in favor of just the flexible initWithDataProviders:
and the convenient initWithURL:
. A full list of migration strategies for each method can be found in the migration guide. (#12087)
API
Removes the baseURL
and files
properties from PSPDFDocument
. (#12087)
API
Adds an options parameter to the PSPDFDocument
save methods, which means the alwaysRewriteOnSave
property has been replaced by PSPDFDocumentSaveOptionForceRewrite
. See the Document Save Options section in the migration guide for more details. (#8297)
API
Renames PSPDFProcessorSaveOptions
to PSPDFDocumentSecurityOptions
and renames related API. See the Document Save Options section in the migration guide for a full list of API changes. (#8297)
API
Removes disk cache strategy and page index parameters from PSPDFCache
caching methods. (#11669)
API
Renames the PSPDFDataProvider
protocol to PSPDFDataProviding
and adds more specialized protocols for file-backed data providers. Custom data providers can cooperate with PSPDFKit to support file coordination. (#11199)
API
The parameters of the PSPDFFileCoordinationDelegate
methods now conform to PSPDFCoordinatedFileDataProviding
instead of NSFilePresenter
. (#11199)
API
PSPDFXFDFParser
and PSPDFXFDFWriter
now use PSPDFDataProviding
and PSPDFDataSink
instead of a NSInputStream
and NSOutputStream
. (#11693)
API
Prefix changes: Renames isAnnotationsEnabled
to areAnnotationsEnabled
, isBookmarksEnabled
to areBookmarksEnabled
, isPageLabelsEnabled
to arePageLabelsEnabled
and isFormsEnabled
to areFormsEnabled
on PSPDFDocument
. (#9742)
API
Renames PSPDFUndoProtocol
to PSPDFUndoSupport
. (#11237)
API
Renames -[PSPDFDocument documentByAppendingObjects:]
to documentByAppendingDataProviders:
and this array can no longer contain instances of NSString
, NSURL
, or NSData
. (#12087)
API
Renames the dataProviderArray
property on PSPDFDocument
to dataProviders
. (#12087)
API
Removes the contentSignatures
property from PSPDFDocument
and adds a signature
property to the PSPDFDataProviding
protocol. (#12087)
API
PSPDFRenderTask
can now fail. There is a new delegate method renderTask:didFailWithError:
, and the completionHandler
is now passed either an image or an error. (#11500)
API
Renames the class PSPDFAbstractTextOverlayAnnotations
to PSPDFMarkupAnnotation
. (#10182)
API
Removes -[PSPDFAnnotation isFixedSize]
. (#12007)
API
Renames PSPDFileCoordinationDelegate
to PSPDFFileCoordinationDelegate
. (#11765)
API
Removes -[PSPDFSignatureFormElement drawArrowWithText:andColor:inContext:]
subclassing hook. (#12083)
API
Removes document unrelated callback methods from PSPDFDocumentDelegate
: pdfDocument:didRenderPageAtIndex:inContext:withSize:clippedToRect:annotations:options:
, pdfDocument:provider:shouldSaveAnnotations:
, pdfDocument:didSaveAnnotations:
, pdfDocument:failedToSaveAnnotations:error:
, pdfDocument:underlyingFileDidChange:
. (#12178)
API
Replaces -[PSPDFLibrary updateIndex]
with -[PSPDFLibrary updateIndexWithCompletionHandler:]
. (#11509)
API
Removes metadata handling from PSPDFLibrary
. (#12261)
API
Replaces annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
with annotationsByDetectingLinkTypes:forPagesAtIndexes:options:progress:error:
. (#11502)
Added
Adds Document Checkpointing to recover changes to documents that may not have been saved. (#8471)
Added
Adds new PSPDFSignatureAppearance
class, which allows you to configure the appearance of digital signatures in a document. (#980)
Added
Adds a PSPDFSignatureBiometricProperties
class, which allows you to store and recover encrypted biometric information about a handwritten digital signature. (#980)
Added
Adds signFormElement:withCertificate:writeToDataSink:withAppearance:completionBlock:
to PSPDFSigner
to allow signing documents to a generic PSPDFDataSink
. (#8879 and #11267)
Added
Adds creation methods for PSPDFFormField
subclasses allowing you to create new form fields. (#12056)
Added
Adds removeFormElements:error:
and removeFormFields:error:
to PSPDFFormParser
. This allows removing of either form elements or form fields. (#11928)
Added
Adds support for changing many PSPDFFormField
properties that were read-only before. (#12157)
Added
Adds support for setting any PDF as an appearance stream on an annotation using the PSPDFAppearanceStreamGenerator
protocol. (#11428)
Added
Adds PSPDFAnnotationProviderDelegate
for callback methods related to annotation saving. (#12178)
Added
Adds outline
property to PSPDFDocument
, used for getting the documents' outline. (#11801)
Added
Adds support for AES encryption when saving or processing a document. (#4420)
Changed
Improves how PSPDFLibrary
deals with long running indexing tasks. See PSPDFLibrary.automaticallyPauseLongRunningTasks
. (#12158)
Changed
Improves progress handling by automatically canceling active document progress when all data provider progresses are canceled. (V#916)
Changed
Improves library updates by making them completely asynchronous. (#11509)
Changed
Improves exact phrase matching in PSPDFLibrary
. (#12261)
Changed
Improves XFDF performance and compliance. (#11693)
Changed
Changes -[PSPDFDocument addAnnotations:options:]
and -[PSPDFDocument removeAnnotations:options:]
to accept options dictionaries with keys of type NSString
. (#12008)
Changed
Implements setMaxLength:
for PSPDFFormElement
. (#11834)
Changed
The minimumSize
property of PSPDFAnnotation
has been changed from 32 to 16. (#11871)
Fixed
Fixes an issue saving an original document after signing it. (#11911)
Fixed
Fixes potential file coordinator races. (#11938, #11206)
Fixed
Fixes an issue when rendering decomposed UTF-8 strings (#11985)
Fixed
Fixes an issue in our KVO helper that could cause a recursive locking abort. This only was discovered with custom code and doesn't affect default usage. (rdar://34307466, #11990)
Fixed
Fixes an issue that prevented modifications to compareOptions
for manual text searching (#12047).
Fixed
Fixes an issue where a digital signature field could not be properly deleted (#12082).
Fixed
Fixes an issue where indexing wasn't stopped when the application gets terminated. (#12215)
Fixed
Fixes a cosmetic issue where an ink signature field may show as unsigned (#12127).
Fixed
Fixes an issue where flattening a document may generate warnings when it is open in third party readers. (#12066)
Instant
API
Renames the PSPDFInstantDocumentDescriptor
methods startListeningForServerUpdates
and stopListeningForServerUpdates
to startListeningForServerChanges
and stopListeningForServerChanges
, and the PSPDFInstantViewController
property shouldListenForChangesWhenVisible
to shouldListenForServerChangesWhenVisible
. (#12393)
Added
Adds support for showing download progress using PSPDFKit. PSPDFDocument
s can now be obtained from document descriptors before the document has been downloaded. The document may be obtained immediately and set on a PSPDFInstantViewController
which will show a download progress bar. (#11199)
Added
Adds an autoSyncDelay
property to PSPDFInstantDocumentDescriptor
which can be used to disable automatic syncing, giving you full control over when Instant syncs with the server. (#11681)
Fixed
Fixes an issue where an incorrect values could be persisted as PDF object IDs. (#11689)
6.9.3 - 1 Sep 2017
This will be one of the last releases in the PSPDFKit for iOS version 6 branch, while we're busy working on version 7.
It includes a fix for using it with Xcode 9, however we still recommend Xcode 8 for compiling and testing.
PSPDFKit 7 for iOS will require Xcode 9 and keep compatibility for iOS 9 until the end of the year to ease the transition.
Read more about our version support here: https://pspdfkit.com/guides/ios/current/announcements/version-support/
Changed
Improves performance for hit-testing ink annotations. (#11858)
Changed
Improves apperance stream generation to not have extra space after non-latin characters in form fields. (#11874)
Changed
Works around a crash in the bookmark view controller due to UIKit bug. (rdar://32485481, #11850)
Fixed
Fixes a NaN calculation issue when linking with Xcode 9/Base SDK 11. (#11886)
Fixed
Fixes an issue with recreating AVPlayer
and AVPlayerItem
when it was in an error state. (#11864)
Fixed
Fixes an issue with view state restoration in PSPDFMultiDocumentViewController
. (#11856)
Fixed
Fixes memory leaks in PSPDFDocument
and PSPDFViewController
. (#11883)
Fixed
Fixes an infinite recursion when describing certain NSValueTransformer
instances. (#11881)
Fixed
Fixes an issue where the keyboard was dismissed when typing a custom form value on iPad. (#11892)
Fixed
Fixes a rare crash when saving. (#11861)
Instant
Added
Adds support for note annotations. (#11704)
Fixed
Fixes two lock-inversions that could cause live-lock or dead-lock when a document received changes while initially reading its annotations. (#11586)
Fixed
Fixes a crash that could occur when a document was deleted while pages were still being rendered. (#11586)
6.9.2 - 16 Aug 2017
Changed
Improves performance for loading and interacting with complex forms. (#11389)
Changed
Improves the eraser radius calculations. (#11803)
Fixed
Fixes a stamp annotation quality degradation issue for images after moving/resizing. (#11625)
Fixed
Fixes a font selection issue with documents using the Courier
font. (#11228)
Fixed
Fixes an issue where the selected
property of annotation views was not set correctly. (#11687)
Fixed
Fixes a layout issue when moving knobs of callout annotation that could happen in rare cases. (#9750)
Fixed
Fixes an issue where link annotations marked as readonly were not tap-able. (#11715)
Fixed
Fixes an issue where documents could sometimes end up locked after saving when an owner-password is set. (V#1121)
Fixed
Fixes an issue where the document cache was not properly invalidated when saving manually via PSPDFDocumentEditor
. (#11767)
Fixed
Fixes PSPDFMediaPlayerController
not behaving correctly in some cases when a subclass exists. (#11671)
Fixed
Fixes an issue in the sample catalog that made the subclassing category not show up. (#11707)
Fixed
Fixes note annotation text not being editable after showing the icon and color options on iPhone on iOS 11 when building with the iOS 11 SDK. (#11789)
Fixed
Fixes the icon and color buttons not being tappable when editing a note annotation on iOS 11 when building with the iOS 11 SDK. (#11789)
Instant
6.9.1 - 3 Aug 2017
API
Changes the object of PSPDFMediaPlayerControllerPlayback*
notifications from PSPDFGalleryVideoItem
to PSPDFMediaPlayerController
. (#11549)
Added
Adds support for external named destinations in PSPDFRemoteGoToAction
. (#11320)
Changed
Allows backwards selection of text when creating markup annotations. (#11583)
Changed
Improves handling of galleries and videos during screen mirroring. (#11549)
Changed
Improves drawing and the erasure tool when using the Apple Pencil. (#11527)
Changed
Improves the rendering of polygon annotations. (#11620)
Changed
Improves form text rendering with non-latin characters. (#10996)
Fixed
Fixes an issue where videos were shown fullscreen when screen mirroring was enabled. (#11549)
Fixed
Fixes a color management issue for file annotations. (#11488)
Fixed
Fixes an issue where annotation assets might have gotten overwritten in some cases. (#11581)
Fixed
Fixes incorrect default resizing behavior for freetext and callout annotations. (#11630)
Fixed
Fixes a leaking color space when encoding images. (#11512)
Fixed
Fixes an issue where an image annotation with a note could lose the image data. (#11652)
Instant
API
Renames PSPDFInstantClient
’s signOut
to removeLocalStorage
, which makes more sense because there is no explicit signing in. (#11619)
Added
Adds automatically recovering from connection errors when automatic sync is active. (#11506)
Added
Adds the annotation selection tool to the default annotation toolbar. (#11565)
Added
Adds error codes for cases that were previously reported as “unknown”. (#11522)
Fixed
Fixes continuing to listen for updates if the app keeps running in the background. Listening now resumes when the app comes back to the foreground. (#11542)
Fixed
Fixes incorrect handling/reporting of an authentication error during sync. (#11386)
Fixed
Fixes an incorrect log message format that could lead to a failed assertion. (#11634)
Fixed
Fixes deletion of multiple annotations at once. (#11651)
6.9.0 - 20 Jul 2017
Added
Adds Instant: an easy-to-integrate solution to connect your app to your PSPDFKit Server to download documents and synchronize annotations between users. Everything’s synced in an instant!
API
Adds option to configure flattening or embedding of form elements to PSPDFProcessorConfiguration
. (#11096)
API
Introduces failable annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
instead of annotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125)
API
Changes isFixedSize
and fixedSize
to be instance properties on PSPDFAnnotation
. (#10931)
API
Moves allowedImageQualities
to PSPDFImagePickerController
from PSPDFAnnotationStateManager
. (#11172)
API
Audit and update several nullability declarations for correctness. (#11183)
API
The method extractImageFromAppearanceStreamWithTransform:error:
on PSPDFAnnotation
has been removed. Use the equivalent loadImageWithTransform:error:
method on PSPDFStampAnnotation
. The call was not useful for other annotation types. (#11185)
API
PSPDFDocument
's undoController
is now declared as nullable
and set to nil
when undoEnabled
is disabled shortly after document initialization. (#11476)
API
Deprecates the undoEnabled
property on PSPDFUndoController
. (#11476)
API
Adds pdfViewController:didDeselectAnnotations:onPageView:
as a new PSPDFViewControllerDelegate
callback. (#11485)
Added
Adds improved markup annotation behavior to select blocks of text. This makes certain selections easier to create. (#10482, #9768)
Added
Adds support for flattening signature annotations. (#11096)
Added
Adds language-based filtering options to the PSPDFKit Catalog example. (#5436)
Added
Adds Adobe root CA by default when using PSPDFSignatureManager
, so that documents can be more easily verified the same way as on desktop readers. (#11240)
Added
Adds support for Instant.framework
to strip-framework.sh
. (#11362)
Changed
Works around a content inset layout issue of the search bar in the outline and annotation list, when the navigation bar has a background image set. (#10878, rdar://32980288)
Changed
The global SQLite message logger now filters out irrelevant common known logs from iOS like cfurl_cache_response. (#10890)
Changed
PSPDFBookmarkViewController
now automatically scrolls to inserted bookmarks. (#11029)
Changed
Improves certificate validation for digital signatures. (#11128)
Changed
Improves support for more types of certificates in digital signatures. (#11083)
Changed
Improves RTL language support in forms. (#11013)
Changed
Improves automatic layout during callout annotation knob dragging. (#9750)
Changed
Improves memory management when rendering forms. (#11176)
Changed
Improves support for file presenter based document deletion notifications in multi data provider documents. (#10362)
Changed
Improves interaction while drawing annotations by introducing a draw gesture recognizer on PSPDFDrawView
. (#7655)
Fixed
Fixes a crash related to bookmarks when viewing multiple documents. (#11020)
Fixed
Fixes very rare issue on saving files repeatedly. (#9477)
Fixed
Fixes an access to the view’s bounds on a background thread when laying out the thumbnails view. (#11084)
Fixed
Fixes an issue where in some configurations a scroll view, that was out of our control, was modified. (#10981)
Fixed
Fixes an issue where selecting an annotation in the outline view would not navigate to the correct page in multi-provider documents. (#11136)
Fixed
Fixes a problem while importing some kind of certificates for digital signatures. (#11120)
Fixed
Fixes an issue where UI code was called on a background thread. (#11408)
Fixed
Fixes an issue where disabling screen mirroring didn't work in some cases. (#11171)
Fixed
Fixes an issue where one PSPDFSignerError
had an invalid error code. (#11186)
Fixed
Fixes an issue occurring after searching in PSPDFOutlineViewController
. (#11268)
Fixed
Fixes issues with language selection in the Catalog example on iOS 11. (#11342)
Fixed
Fixes some crashes when signing a particular type of PDF documents. (#11285)
Fixed
Fixes an issue where the close buttons in the tabbed bar were not correctly shown when using PSPDFTabbedViewControllerCloseModeSizeDependent
in some cases. (V#590)
Fixed
Fixes an issue where signatures could show the certificate issuer name instead of the certificate subject name. (#11368)
Fixed
Fixes a rare race condition in the render queue that could occur when using any kind of drawing based annotation with the eraser tool while a page rendering completes. (#11326)
Fixed
Fixes an issue where some digital signatures couldn't be open in Adobe Acrobat. (#11390)
Fixed
Fixes a retain cycle in the document info UI. (11260)
Fixed
Fixes a layout issue when a document with partially broken pages is loaded. (#11481)
Fixed
Fixes an issue where no annotations were shown in PSPDFAnnotationTableViewController
, when editableAnnotationTypes
was empty. (#11391)
Fixed
Fixes an issue with encoding preloaded monochrom images. (#10985)
Fixed
Fixes a rare deadlock related to undo operations. (#11479)
Fixed
Fixes a data race in PSPDFRenderQueue
. (#11494)
Removed
Deprecates annotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125)
Removed
Deprecates allowedImageQualities
on PSPDFAnnotationStateManager
. (#11172)
Removed
Deprecates isHighlightAnnotationState:
in favor of isMarkupAnnotationState:
. (#10482, #9768)
Removed
Deprecates fixed size class methods on PSPDFAnnotation
in favor of instance properties. (#10931)
Removed
Deprecates allowedTouchTypes
on PSPDFDrawView
and introduces it on PSPDFDrawGestureRecognizer
. (#7655)
Removed
Deprecates the undoEnabled
property on PSPDFUndoController
. (#11476)
6.8.0 - 22 Jun 2017
This release removes the embedded OpenSSL. This results in a smaller binary and faster link times.
Added
Adds new digital signature implementation that no longer relies on OpenSSL. (#10864)
Added
Adds support for filtering watermarks (enabled by default). See PSPDFDocument.isWatermarkFilterEnabled
(#8144, #10874)
Added
Adds support for opening the Settings app from the privacy access denied controller. (#10526)
Changed
Uses the app name instead of "This app" in the privacy access denied controller. (#10528)
Changed
Makes the disclosure button of PSPDFOutlineCell
tintable. (#10818)
Changed
Works around an issue where UISearchController
would load its view during dealloc
. (#10936)
Changed
Various refinements around nullability that have been discovered with Xcode 9's Undefined Behavior Sanitizer. (#10876)
Changed
Preserves the previous state of the expanded
value for outline elements after searching in PSPDFOutlineViewController
. (#10862)
Changed
Improves action resolving in multi-provider documents. (#10782)
Changed
Improves the popover sizing of the choice form editor view controller. (#10621)
Changed
Improves style manager support for color presets and fixes various smaller issues. (#10930)
Changed
Improves rotation on iPads when using automatic page transition, i.e. rotating from landscape to portrait shows the last interacted page. (#11033)
Changed
Improves support for form filling via JavaScript. (#10979)
Changed
Improves documentation of the digital signatures feature. (#11027)
Fixed
Fixes an issue when tapping a search result in some documents. (#10844)
Fixed
Fixes issue while saving PDF files. (#10849)
Fixed
Fixes a leak when rendering a bitmap. (#10847)
Fixed
Fixes an issue where the "Open In" activity was not shown for non-URL backed documents. (#10854)
Fixed
Fixes an issue where documents with incorrectly created annotations could cause infinite loops. (#10640)
Fixed
Fixes rare file coordination related crashes and deadlocks. (#10935)
Fixed
Fixes an issue where the bookmark migration could deadlock in some configurations. (#10857)
Fixed
Fixes an issue where the page grabber could cause a crash on 32bit devices when switching from a multi page document to a single page document in a visible view controller instance. (V#929)
Fixed
Fixes an issue with digital signatures where a name and date was required. (#7892)
Fixed
Fixes an issue where the page wasn't preserved in automatic page mode when rotating from portrait to landscape and back to portrait. (#10988)
Fixed
Fixes an issue where embedded files with very long names might fail to be extracted correctly. (#11028)
Fixed
Fixes an issue with digital signatures where some valid signatures are not recognized by Adobe Reader. (#9565)
Fixed
Fixes an issue where the cache is not properly invalidated if saving a document fails. (#11022)
6.7.2 - 31 May 2017
Changed
Update OpenSSL to 1.0.2l. (#10820)
API
Adds option to configure background indexing queue priority in PSPDFLibrary
. (#10619)
Added
Adds file coordination support to PSPDFDocumentEditor
. (#10595)
Changed
Moves Bookmarks in front of Annotations in the document info view controller tab order. (#10666)
Changed
PSPDFAnnotationTableViewController
now has smarter defaults when neither visible
- nor editableAnnotationTypes
are set. (#10788)
Changed
Improves PSPDFDocument
and PSPDFFileDataProvider
documentation, clarifying the expected behavior with symlinks and alias files. (#10750)
Changed
Improves error handling for saves that fall back to external file saving due to an unwritable document. (#10805)
Fixed
Fixes an issue where editing a bookmark could result in a crash. (#10607, #10723)
Fixed
Fixes an issue with document render options when mirroring the screen. (#10676)
Fixed
Fixes an issue where annotations were drawn in the wrong size if fitToWidth
was set to PSPDFAdaptiveConditionalAdaptive
and the adaptive style would have been mapped to a disabled fit to width behavior. (#9754)
Fixed
Fixes an issue where bookmarks lost their custom sort order when migrating from PSPDFKit 5 for iOS. (#10705)
Fixed
Fixes issue with free text annotations ending editing mode on rotation in continuous page transition mode. (#10671)
Fixed
Fixes an issue where the outline controller was shown when there was no outline in a document. (#6902)
Fixed
Fixes an issue where custom bookmark providers did not receive a save call if the annotation save mode was set to PSPDFAnnotationSaveModeExternalFile
or PSPDFAnnotationSaveModeDisabled
. (#10665)
Fixed
Fixes PSPDFDocumentPickerController
not persisting the FTS index. (#10704)
Fixed
Fixes smaller document editor glitches caused by file presenter updates. (#10595)
Fixed
Fixes an issue with saving files that did not conform completely to the PDF format. (#10712)
Fixed
Fixes an issue with Digital Signatures. (#10762)
Fixed
Fixes an issue where the text selection loupe magnification could break after moving it to a different page. (#10589)
Fixed
Fixes an issue with saving link annotations. (#10355)
Fixed
Fixes a potential deadlock that could occur when performing synchronous saves of encrypted documents on the main thread. (#10789)
Fixed
Fixes an issue where saving an unwritable document using PSPDFAnnotationSaveModeEmbeddedWithExternalFileAsFallback
would fail. (#10805)
Fixed
Fixes a leak when rendering a bitmap. (#10777)
6.7.1 - 22 May 2017
API
Adds a new global configuration option that allows you to opt out of PSPDFDocument
file coordination if needed. By setting PSPDFFileCoordinationEnabledKey
to @NO
, PSPDFDocument
no longer implicitly creates PSPDFCoordinatedFileDataProvider
instances when initialized with an URL. Instead the non-coordinated PSPDFFileDataProvider
is used. (#10608)
API
Adds annotation indexing capabilities to PSPDFLibrary
. (#9235)
API
Adds PSPDFRenderManagerRenderResultDidChangeNotification
which is posted when a document's data changes so that a rendering of its pages would look different. (#10489)
API
Adds PSPDFRenderOptionTextRenderingUseCoreGraphicsKey
and PSPDFRenderOptionTextRenderingClearTypeEnabledKey
as advanced rendering options. (#10231)
Added
Adds support for mirroring a PSPDFViewController
via PSPDFScreenController
to an external screen. (#2527)
Changed
Using setRenderOptions:type:
with type PSPDFRenderTypeAll
now works as expected. (#10231)
Changed
The FTS indexer scans faster and is limited to one thread with a low priority. (#10618)
Changed
Improves file data provider behavior during progress indication by blocking file access while the file might not yet be completely written. (V#880)
Changed
Improves the customization options for the page grabber. (#10538)
Changed
Improves saving behavior around encrypted files. (V#879, #9088)
Changed
Improves performance around reading PDF files. (V#879, #10554)
Changed
Improves performance when reading page labels (V#879, #10575)
Changed
Improves reliability of Spotlight indexed PSPDFLibrary
documents being found. (#10658)
Changed
Improves PSPDFLibrary
's handling of queued documents when updateIndex
is called, ensuring no stale data is indexed. (#10662)
Fixed
Fixes an issue that could prevent PSPDFDocument deserialization using initWithCoder:
. (V#880)
Fixed
Fixes handling of annotations with the NoView
and Print
flags set, and now renders them in documents generated for printing. (#9725, #10459)
Fixed
Fixes an issue when migrating from old bookmark data. (#10560)
Fixed
Fixes an issue with the empty state of the outline controller. (Z#6161)
Fixed
Fixes an issue with the page range selection not showing up for some sharing options. (Z#6155)
Fixed
Fixes an issue where the page grabber might not be visible when the document starts in its loading state and then becomes available. (#10604)
Fixed
Fixes a crash related to embedded files when the asset name is invalid. (10601)
Fixed
Fixes a crash when parsing invalid metadata. (#10611)
Fixed
Fixes a very rare crash when using the page grabber. (V#929)
Fixed
Fixes an issue where coordinated file access could end up in a deadlock. (#10622)
Fixed
Fixes an issue where radio buttons were rendered incorrectly (#10631)
Fixed
Fixes PSPDFLibrary
indexing completed notifications not including the PSPDFLibraryNotificationSuccessKey
in the userInfo
. (#10662)
Fixed
Fixes an issue with the outline popover sizing on some devices. (#10594)
Removed
Deprecates pdfViewController:didRenderPageView:
and replaces it with more accurate delegate calls. (#9577)
Removed
Deprecates a few properties in PSPDFSignaturePropBuildEntry
. (#10448)
6.7.0 - 10 May 2017
API
Adds PSPDFDefaultScale()
which returns the main screen scale on iOS and 1.0 on macOS. (#10438)
API
All fileURL
based PSPDFDocument
s are now backed by PSPDFCoordinatedFileDataProvider
instances. The initialization flow for file data providers and the behavior of some fileURL
related methods on PSPDFDocument
have slightly changed to accommodate file coordination. (#1859)
API
Simplified API of PSPDFModel
, removes several methods which should not be required to be called or subclassed. (#10221)
API
PSPDFBookmark
is now fully immutable. If you want to change a bookmark, create a mutable copy, change it, and add it to the bookmark manager again. (#9308)
API
Add notifications for gallery video playback state changes to PSPDFMediaPlayerController
. (#9758)
API
PSPDFStatefulTableViewController
conforms to the newly added PSPDFStatefulViewControllerProtocol
protocol. (V#775)
API
Rename enum PSPDFStatefulTableViewState
to PSPDFStatefulViewState
. (V#775)
API
PSPDFNoteAnnotationViewController
now declares that it implements UITextViewDelegate
. (#10407)
API
Renames -[PSPDFRenderQueue cancelAllJobs]
to cancelAllTasks
. (#10417)
API
Deprecates -[PSPDFRenderQueue concurrentRunningRenderRequests]
. (#10417)
Added
Adds the option to specify the image scale in a PSPDFRenderRequest
. (#10413)
Added
Adds support for coordinated file operations to PSPDFDocument
and implements the NSFilePresenter
protocol. (#1859)
Added
Adds PSPDFPageGrabberController
and PSPDFPageGrabber
to provide UI to quickly scroll through a document. (#76)
Added
Adds support for PSPDFDocument
progress indication via the PSPDFFileProvider
API. Check out DocumentProgressExample.swift
for more information. (#10410)
Added
Adds an error handling delegate method to PSPDFTextSearchDelegate
to better notify of errors during text search. (#10276)
Added
Adds support for PSPDFAnnotationTriggerEventLooseFocus
JavaScript events. (#10295)
Added
Adds support for the NeedAppearances
form flag. (#10288)
Added
Adds support for automatically closing deleted documents to PSPDFViewController
and PSPDFTabbedViewController
. (V#790)
Added
Adds support for respecting minimumSize
of PSPDFAnnotation
during creation as well. (#10435)
Added
Adds a contentsLocked
property to PSPDFAnnotation
that checks the PSPDFAnnotationFlagLockedContents
flag. We now do not allowing editing contents for annotations with this flag. (#9552)
Added
Adds support for searching choice form options. (#10306)
Added
Adds the form navigation bar to the top of choice form options when in half modal presentation. (#10307)
Changed
Improves naming for the ink annotation fill color inspector option. (#10088)
Changed
Improves PSPDFTextSearch
handling of invalid or locked documents. (#10276)
Changed
Improves support for custom bookmark provider. (#9649)
Changed
Improves the user experience when the user denied access to the camera or the photo library. (#9752)
Changed
Improves performance around complex PDF documents. (#10290, #10295)
Changed
Improves cache invalidation when files change while the document is not opened or the app is not running. (#10212)
Changed
Improves NSCoding
support for PSPDFFileDataProvider
, by ensuring its URL is preserved in application path independent way. (V#817)
Changed
Improves sqlite3 linking. (#10089)
Changed
Improves reliability of reading from data providers. (#10382)
Changed
Improves documentation of PSPDFX509
's memory model for the encapsulated OPENSSL_X509
object. (#10225)
Changed
Improves documentation of some annotation flags which were incorrectly said to have been ignored. (#9552)
Changed
Choice form options now are automatically scrolling to the selected index when shown. (#10295)
Changed
PSPDFTabbedViewController
no longer automatically emits taptic feedback when selecting tabs. (#10371)
Fixed
Fixes an issue where the cachePolicy
of a render request could be ignored in some cases. (#10428)
Fixed
Fixes highlight annotations rendering incorrectly in documents created by PowerPoint and some other PDF creators. (#9677)
Fixed
Fixes PSPDFFontSizeName
not being public despite being referenced in the documentation. (#10223)
Fixed
Fixes an issue when setting pageIndex
before PSPDFViewController
was shown. (#10079)
Fixed
Fixes an issue where bookmarks were not being saved for viewer only licenses. (#10025)
Fixed
Fixes the Clear Field button not being enabled at the correct times when editing form fields. (#10254)
Fixed
Fixes a retain cycle in PSPDFOutlineElement
. (#10287)
Fixed
Fixes an issue with scrolling in the outline list. (#10251)
Fixed
Fixes rendering issues with Arial Narrow
. (#10244)
Fixed
Fixes an issue where annotations were rendered in an outdated state when modifying annotations while rendering was in progress. (#9991)
Fixed
Fixes an issue with collapsing outline elements when searching (#10409)
Fixed
Fixes a locking issue related to UID generation. (#10453)
Fixed
Fixes an issue where the document editor cell layout could remain out of date after a collection view bounds size change. (#9511)
Fixed
Fixes an issue that could result in a very long running loop when rendering PDF documents with broken dashed lines. (#9764)
6.6.1 - 13 Apr 2017
API
Adds soundAnnotationRecordingOptions
to PSPDFConfiguration
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)
API
Deprecates cache pausing and resuming as this is no longer necessary with the improved render engine. (#10166)
Changed
Improves the view state restoration logic when a view controller is presented with/without the toolbar. (V#723)
Changed
Improves stability in low memory situations. (#10086)
Changed
Improves error reporting in PSPDFPKCS12
when unlocking fails. Also fix premature unloading of OpenSSL digests/algorithms from memory. (#10021, #10022)
Changed
Improves support for adaptive user interfaces in PSCCustomToolbarExample
. (#9578)
Changed
Improves some warning log messages for better clarification. (#10168)
Changed
Freshens up the visual design of PSPDFDocumentPickerController
. (#10108)
Changed
Moves error codes reported by PSPDFPKCS12
into the PSPDFErrorCode
enum to be more consistent with the rest of the framework. (#10022)
Changed
Default sample rate for sound annotation recordings has been lowered to 22,050 samples per second to comply with the PDF specification and to decrease the file size. (#10120)
Fixed
Fixes an issue when using the image picker on form elements in double page mode. (#10069)
Fixed
Fixes an issue with loading XFDF annotations. (#10096)
Fixed
Fixes text color in form fields not rendering correctly and not being compatible with other PDF readers. (#10090)
Fixed
Fixes the processor call to setFormMappingNameMappings:
. (#10102)
Fixed
Fixes an issue with invisible form fields if their bounding box wasn't normalized. (#10035)
Fixed
Fixes an issue with flattening form fields appearing upside down. (#10036)
Fixed
Fixes status bar related HUD issues. (#9975)
Fixed
Fixes an issue where the freetext annotation intent conversion option was shown in the annotation inspector during annotation creation. (#9109)
Fixed
Fixes an issue where certain bar button items would remain selectable when disabled. (#9130)
Fixed
Fixes annotation toolbar drag & drop for certain container view controller arrangements. (#9746)
Fixed
Fixes a layout issue in PSPDFDocumentPickerController
(#9743)
Fixed
Fixes an issue with displaying the empty state of the outline list. (#10151)
Fixed
Fixes an issue where wrong values were rendered in forms. (#10007)
Fixed
Fixes an issue while saving with a PSPDFXFDFAnnotationProvider
. (#10187)
Fixed
Fixes an issue that could cause very low priority render tasks to never be executed. (#10166)
Fixed
Fixes an issue with infinite loop galleries when presented modally. (#9941)
Fixed
Fixes an issue with using -[PSPDFDocument setPageBinding:]
. (#10186)
6.6.0 - 6 Apr 2017
PSPDFKit now requires and is built with Xcode 8.3 (8E162).
API
Various methods have been converted to properties where appropriate. This is source compatible for Objective-C but might require small adjustments in Swift code. (#9854)
API
Adds PSPDFDocumentPDFMetadata
. This class allows you to retrieve and set metadata in a PDF. This deprecates -[PSPDFDocument metadata]
.
API
Adds PSPDFDocumentXMPMetadata
. This class allows you to retrieve and modify data in the XMP stream inside a PDF document.
API
Adds clearRegisteredSigners
to PSPDFSignatureManager
to remove all registered signers. (#9908)
API
PSPDFOutlineCell
now uses a custom nameLabel
property instead of UITableViewCell
s textLabel
for displaying the outline name. (#9930)
API
Adds formFieldNameMappings
and formMappingNameMappings
to PSPDFProcessorConfiguration
for changing the name of form fields. (#9868)
API
Adds shouldShowImageEditor
to PSPDFImagePickerController
, which configures showing the image editor. (#10058)
Added
Adds support for right to left page bindings and automatically changes the page order for the main page view, the scrubber bar, the thumbnail bar and the thumbnail view mode. (#1973)
Added
Adds more callbacks to PSPDFImagePickerControllerDelegate
to get the selected and edited images from the image picker. (#9510)
Added
Adds the ability to keep the outline hiearchy intact and to collapse and expand elements while searching. (#9930)
Changed
Changes the line thickness slider in the inspector (PSPDFAnnotationStyleViewController
) to be more precise for smaller values and reduces the minimum thickness from 1 to 0.5 points. (#9464)
Changed
Changes the inspector’s opacity and line thickness value labels to use monospaced numbers so they change more smoothly when using the slider. (#9891)
Changed
Improves support for "buttonImportIcon" JS functionality in forms to be more in line with Adobe. (#9730).
Changed
Improves creation and rendering of small cloud annotations. (#9830)
Changed
Improves form loading performance for some documents. (#9382)
Changed
Improves PSPDFLibrary
search when using FTS5. (#10018)
Changed
Improves support for RTL text selection. (#9688)
Changed
Improves JavaScript calculation support. (#10024)
Changed
Improves status bar management reliability. (#9975)
Changed
Improves memory usage. (#10082)
Fixed
Fixes an issue where line and arrow annotations were always previewed as a dashed line. (#9024)
Fixed
Fixes an issue where the user could select a cloudy line style for arrow annotations. Cloudy line styles are not available for arrow annotations. (#9024)
Fixed
Fixes an issue where circle annotations that have a cloudy border style pass NaN values to CoreGraphics in some cases. (#9834)
Fixed
Fixes the JavaScript Form API by providing setItems
, clearItems
, deleteItemAt
and insertItemAt
again. (#9868)
Fixed
Fixes symbol characters being used for rendering text in certain situations. (#9878)
Fixed
Fixes an issue where JavaScript wasn't executed when a choice form element was selected. (#9894)
Fixed
Fixes the half modal view controller close button animation timing during dragging. (#9895)
Fixed
Fixes a race condition crash in PSPDFCoreFormProvider
. (#9744)
Fixed
Fixes an issue where the presented SFSafariViewController
was blank while a popover was visible. (#9149)
Fixed
Fixes an issue with flattening annotations using custom PSPDFFileAnnotationProvider
subclasses. (#9914)
Fixed
Fixes the JavaScript action triggers MouseUp
and MouseDown
and the JavaScript display
property. (#9932)
Fixed
Fixes an issue with unselectable form checkboxes in certain documents. (#9960)
Fixed
Fixes full text search results returning incorrect results when an unmatched quote character is included in the search string. (#9831)
Fixed
Fixes YouTube cover image parsing. (#10003)
Fixed
Fixes text field form rendering when text properties are changed. (#9956)
Fixed
Fixes an issue with exporting choice form elements to JSON. (#9420)
Fixed
Fixes an issue where the export value instead of the label was rendered in a PSPDFChoiceFormElement
. (#9953)
Fixed
Fixes an issue where some video preview thumbnails may be upside down. (#9992)
Fixed
Fixes an issue with a missing red border around required form fields. (#9983)
Fixed
Fixes a view state restoration issue in continuous scroll mode that could trigger an internal assertion. (#9936)
Fixed
Fixes an issue with sharing PSPDFDocument
including multiple files. (Z#5864)
Fixed
Fixes an issue with making form elements non-editable. (#10009)
Fixed
Fixes an issue where the document editor may show page thumbnails with an incorrect orientation. (#9974)
Fixed
Fixes an issue with selecting a entry in a PSPDFChoiceFormElement
. (#10056)
Fixed
Fixes free text annotation colors not being compatible with Adobe Acrobat and other PDF readers, and not being read properly in some situations. (#8941)
Fixed
Fixes a layout issue in the outline list. (#9516)
Fixed
Fixes an issue that prevented the document editor cells from loading the correct thumbnail image. (#10083)
Removed
Deprecates +[PSPDFOutlineCell heightForCellWithOutlineElement:documentProvider:constrainedToSize:outlineIntentLeftOffset:outlineIntentMultiplier:showPageLabel]
in favor of a self-sizing table view cell. (#9930)
6.5.1 - 15 Mar 2017
API
Introduces -[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)
API
Adds PSPDFApplePencilDetectedChangedNotification
. Use this instead of PSPDFApplePencilDetectedNotification
to avoid unnecessary work when there is no change in detection state. (#9766)
API
Adds shouldExpandCollapseOnRowSelection
subclassing hook to modify the expand/collapse behavior in PSPDFOutlineViewController
. (#9691)
Changed
PSPDFApplePencilDetectedNotification
is no longer posted when detected
is set to NO
to better clarify its purpose. (#9766)
Changed
Improves the bookmark view controller reload behavior by implementing incremental updates. (#9580)
Changed
Calling description
on the document no longer tries to parse the document. (#9556)
Changed
Polygon annotations now correctly require at least 3 points before it is possible to commit them. (#9800)
Changed
Improves the drawing order of watermarks and annotations. (#9258)
Changed
Improves formatting of text related annotations in the annotation list view. (#9740)
Changed
Improves creation of dashed and cloudy annotations. (#9738)
Fixed
Fixes a condition where bold font would be incorrectly used for text that is not to be highlighted in PSPDFSearchViewController
. (#608)
Fixed
Fixes a crash on iOS 9.0.x. (#9789)
Fixed
Fixes ghost images when selecting form elements. (#9482)
Fixed
Fixes an issue on incrementally saving using a data provider. (#9410)
Fixed
Fixes a crash that could occur when drawing polygon annotations with the cloudy line style. (#9800)
6.5.0 - 9 Mar 2017
API
Stylus 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 adding
PSPDFApplePencilDriver
in
availableDriverClasses
, and
annotationToolbar.additionalButtons = @[annotationStateManager.stylusStatusButton]
must be replaced with
annotationToolbar.showingStylusButton = YES
. The
stylus support guide and
PSCStylusSupportExample
have been updated to reflect this. (#6525)
API
Changes fitToWidthEnabled
type to PSPDFAdaptiveConditional
and adjusts its behavior. (V#527)
API
Makes PSPDFAnnotationString*
and some constants for stylus drivers nicer to use from Swift. (#9543, #9672)
API
Introduces -[PSPDFRenderQueue scheduleTasks:]
to schedule multiple tasks at once. (#9416)
API
Introduces -[PSPDFRenderTask groupTasks:completionHandler:]
to group multiple render tasks together and get a single completion handler call once all of them complete. (#9416)
API
A new sharing option has been introduced to improve document export for print. PSPDFDocumentSharingOptionFlattenAnnotationsForPrint
should be used instead of PSPDFDocumentSharingOptionFlattenAnnotations
when printing. This is set by default in PSPDFConfiguration.printSharingOptions
. (#9295)
API
Introduces PSPDFPrintConfiguration
to customize the print flow or set a default printer. (#9650)
Added
Adds 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
and
PSPDFAnnotationToolbar
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. (#6525)
Added
Adds 3D Touch preview support in PSPDFThumbnailViewController
, PSPDFAnnotationTableViewController
, PSPDFOutlineViewController
and PSPDFBookmarkViewController
. (#9195)
Added
Adds support for non-printable annotations via the new PSPDFDocumentSharingOptionFlattenAnnotationsForPrint
option. (#9295)
Added
Adds an option to close all tabs except one. Accessible by selecting Close All Other Tabs
after long pressing a close button in PSPDFTabbedViewController
. (#9393)
Added
Adds an option to set cloudy borders on geometric annotations in the annotation inspector. (#9675)
Changed
Improves settings controller by preventing user from selecting unsupported configurations. (#8321)
Changed
Improves the annotation view controller reload behavior by implementing incremental updates. (#9520)
Changed
Improves the animation in the kiosk grid example. (#9225)
Changed
Improves text to speech language detection for some documents. (#9371)
Changed
Improves haptic feedback when scrubbing to first and last page. (#9193)
Changed
Improves the transition to and from the fullscreen gallery view mode. (#9460, #9467)
Changed
Improves compatibility with embedded videos to allow playing even more format variations. (#9484)
Changed
Improves JavaScript support for formatting dates in form fields. (#9481)
Changed
Improves disk usage and reuses temporary paths for asset annotations. (#9396)
Changed
Improves page navigation with keyboard shortcuts. (#9234)
Changed
Improves font size while editing a text form element. (#9419, #9436)
Changed
Improves support for certain types of link annotations. (#9201)
Changed
Updates OpenSSL to 1.0.2k. (#9364)
Changed
Changing the tab in PSPDFTabbedViewController
now creates haptic feedback. (#9415)
Changed
The example stylus drivers have now been tested with the Adonit SDK 3.3 and Wacom SDK 2.1.0. (#9672)
Changed
The annotation state manger’s state
is no longer set to nil
when changing selected annotations, saving a document, or changing PSPDFViewController
’s document. This was necessary to create a great experience with Apple Pencil. (#6525)
Changed
Status HUD notifications are no longer shown when the connected stylus changes. These can be turned back on with PSPDFStylusManager
’s new showsStatusHUDForConnectionStatusChanges
property. (#6525)
Fixed
Fixes an issue where checking for a cached image falsely resulted in a cache miss when checking for smaller images in some size constellations. (#9440)
Fixed
Fixes an issue with the thumbnail view mode layout. (#9456)
Fixed
Fixes an issue with generating a document from a local file. (Z#5470)
Fixed
Fixes an issue with half modal view controller avoidance. (#9314)
Fixed
Fixes an issue with -[PSPDFLibraryFileSystemDataSource indexItemDescriptorForDocumentWithUID:]
returning nil
before PSPDFLibrary.updateIndex
is called. (#9392)
Fixed
Fixes an issue where pages were disappearing when laying out PSPDFViewController
multiple times in a very short time frame. (#9402)
Fixed
Fixes positioning of free text annotations when pasting text. (#9299)
Fixed
Fixes a rare deadlock encountered with background saving. (#8689)
Fixed
Fixes relative path for documents stored in an iCloud container. (V#599)
Fixed
Fixes an issue where exporting a document with forms didn't always automatically invoke save. (#9457)
Fixed
Fixes hard to read text in small choice form elements. (#9450)
Fixed
Fixes an issue where search may not return every match for some documents. (#9173)
Fixed
Fixes an issue that cancelled ongoing animations when the HUD was animating in or out. (#8410)
Fixed
Fixes the PSPDFAnnotationStyleViewController
(inspector) shown from the annotation toolbar not showing the annotation preview on iPhone in landscape. (#9512)
Fixed
Fixes an issue with layout invalidation when in thumbnail view mode and rotating the device while the app is in the background. (#9523)
Fixed
Fixes PSPDFLibrary
's usage of background tasks when indexing. (#9674)
Fixed
Fixes an issue in the renderer that produced an endless loop with invalid values in certain locations of a PDF. (#9595)
Fixed
Fixes an issue where some annotations with dashed border was incorrectly rendered. (#9435)
Fixed
Fixes a text layout issue in PSPDFOutlineViewController
. (#9516)
Removed
Removes PSPDFStylusDriverDelegateKey
which was not used. (#9672)
6.4.0 - 31 Jan 2017
API
Adjusts PSPDFDocument
initializers for better Swift support. initWithContent:signatures:
is now marked as the designated initializer for this class. (#9143)
API
New helper searchableItemAttributeSetWithThumbnail:
on PSPDFDocument
for easier Handoff/NSUserActivity/Spotlight integration. (#9218)
API
The doublePageModeOnFirstPage
property in PSPDFConfiguration
has been renamed to firstPageAlwaysSingle
. (#9277)
API
Makes PSPDFMetadata*
keys nicer to use from Swift. (#9218)
API
Adds -[PSPDFLibraryFileSystemDataSource indexItemDescriptorForDocumentWithUID:]
to retrieve document metadata without having to read the document from disk. (#9317)
API
Adds PSPDFLibraryFileSystemDataSource.documentProvider
to allow for custom-prepared (encrypted) documents to be used. (#9307)
API
Adds pdfViewController:didExecuteAction:
method to PSPDFViewControllerDelegate
which is called after an action has been executed. (#9297)
Added
Adds 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)
Added
Adds support for right-to-left user interface. (#5635)
Added
Adds translations for Arabic.
Added
Adds a photo editor to crop, rotate and zoom images, when adding a new page or an image annotation. (#969)
Added
Adds a search UI to the annotations table view controller. (#8906)
Added
Adds a placeholderImage
to <PSPDFPageCellImageRequestToken>
for smoother transitions to the thumbnail view mode. (#9197)
Changed
Improves performance when zooming and scrolling in certain cases. (#9288)
Changed
Improves behavior of close-all-tabs option in PSPDFTabbedBarController
. (#9050)
Changed
Improves power consumption in low power mode. (#5595)
Changed
Improves external keyboard support when navigating through form fields. (#8503)
Changed
Improves the highlight icon for the annotation toolbar. (#9187)
Changed
Improves automatic page mode threshold to use double page mode more often. (#9161)
Changed
Improves performance of library indexing and preview snippet generation. (#9131)
Changed
Improves behavior of annotations in night mode. (#9207)
Changed
Improves PSPDFLibraryFileSystemDataSource
's checking of its source documents URL to ensure it is a directory. (#9216)
Changed
Improves display of indexed documents in Spotlight. (#9219)
Changed
Improves localizations in Norwegian and renames Save To Camera Roll
to Save to Photo Library
. (#9353)
Changed
Improves the padding around responders that are scrolled to become visible when the keyboard is shown. (#9316)
Changed
Improves the layout of the empty state in thumbnail view mode when filtered for annotations or bookmarks. (#9315)
Changed
Changes default number of search results and preview snippets in library queries to 500. Can be modified via options
dictionary. (#9131)
Changed
Form annotations now honor the hidden
flag just like other annotation types. (#9200)
Fixed
Fixes an issue where the Current Page option was presented in pages range picker even when there're no visible page indexes set. (#9350)
Fixed
Fixes a crash that could happen while rotating in some scenarios. (V#530, V#532)
Fixed
Fixes a rare crash in PSPDFTabbedBarController
. (V#539)
Fixed
Fixes issues with selected annotations on rotated pages. (#9083)
Fixed
Fixes a layout issue when switching to thumbnail mode in some cases. (#9128)
Fixed
Fixes an issue with entering edit mode of free text annotations when long pressing. (#9148)
Fixed
Fixes an issue with free text annotations in night mode. (Z#5365)
Fixed
Fixes an issue where the document editor could get into an invalid state while interactive movement of pages. (#9198)
Fixed
Fixes an issue where annotations were not rendered in night mode color while annotation mode was enabled. (#9168)
Fixed
Fixes an issue where the scrubber bar sometimes requested the wrong image size. (#8998)
Fixed
Fixes selecting items in the annotation toolbar not working properly in some configurations with restricted editableAnnotationTypes
. (#9226)
Fixed
Fixes an issue where borders weren't dashed properly. (#9260)
Fixed
Fixes an issue where menu controller stayed visible after deselecting an image annotation. (#9286)
Fixed
Fixes an issue where the annotation user name controller could dismiss its parent controller as well. (#9296)
Fixed
Fixes an issue where the annotation's search results don't select the annotation when tapped. (#9313)
Fixed
Fixes a rare issue where inline image objects were not released properly. (#9241)
6.3.1 - 9 Jan 2017
API
Removes unused onlyReturnIfVisible
parameter from PSPDFChildViewControllerForClass
. (#9072)
Changed
Improves haptic feedback from annotation toolbar and thumbnail scrubber. (#9065)
Fixed
Fixes the shadow position for sound annotation appearance streams. (#9037)
Fixed
Fixes PSPDFLibraryFileSystemDataSource
becoming inconsistent with the document library. (#9043)
Fixed
Fixes PSPDFLibraryFileSystemDataSource
ignoring encrypted but not locked documents. (#9047)
Fixed
Fixes height of the search view controller when the search results are cleared. (#9028)
Fixed
Fixes the author name view never being shown if the annotation button is tapped while a popover is visible. (#9058)
Fixed
Fixes 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)
Fixed
Fixes the annotation toolbar not being hidden when popping the PSPDFViewController
from a navigation stack while there is a half modal presentation. (#9058)
Fixed
Fixes it being possible to show the annotation toolbar underneath a half modal presentation. (#9058)
6.3.0 - 21 Dec 2016
PSPDFKit now requires and is built with Xcode 8.2.1 (8C1002).
API
Adds -[PSPDFLibrary indexedDocumentWithUID:]
method to easily retrieve documents from FTS search results. (#8884)
API
Adds an "explicit mode" to PSPDFLibraryFileSystemDataSource
, to improve handling of cases where the documents directory's contents would change rapidly. (#8894)
Added
Adds option to close all tabs by long pressing a close button in PSPDFTabbedViewController
. (#8662)
Added
Adds Norwegian and Slovak language and improves the translations overall. (#8975)
Changed
Improves updating of cells in PSPDFDocumentPickerController
when a document title changed. (#8874)
Changed
Improves the flexible toolbar drag & drop handle. (#8883)
Changed
Improves website conversion support in PSPDFProcessor
. The changes make it less likely for pages to be converted in a partially rendered state. (#8830)
Changed
Improves the cache eviction algorithm. (#8876)
Changed
Improves the eraser for natural drawing ink annotations. (#7532)
Changed
Improves button selection across different annotation toolbar configurations by prioritizing recently picked tools on all toolbar configurations. (#8610)
Changed
Improves automatic reloading of PSPDFAnnotationTableViewController
when changing properties. (#8966)
Changed
Improves settings UI with new icons representing scrolling directions. (#8590)
Changed
Improves callout annotation resizing and auto sizing behaviors. (#8692)
Changed
Key classes are now better protected against misuse to show potential bugs early. (#8892)
Fixed
Fixes an issue where PSPDFLibrary
would send duplicate notifications when spotlight indexing is disabled. (#8833)
Fixed
Fixes loss of selection when the app is backgrounded. (#8458)
Fixed
Fixes an issue where XFDF fields are incorrectly filled. (#8925)
Fixed
Fixes an issue where the scrubber bar could take a lot of CPU time to layout. (#8876)
Fixed
Fixes an issue with loading invalid annotations. (#8869)
Fixed
Fixes an issue with view state restoration when using specific scroll and transition modes. (#8801)
Fixed
Fixes an issue while garbage collecting PDF objects on saving non-incrementally. (#8901)
Fixed
Fixes documentation of -[PSPDFLibrary updateIndex]
which incorrectly stated that the method would return immediately and was asynchronous. (#8893)
Fixed
Fixes an issue with parsing invalid sound annotations. (#8814)
Fixed
Fixes an issue where search result cells showed the wrong search result when tapping it in some cases. (#8931)
Fixed
Fixes an issue where the frame of note annotations was incorrectly displayed on the page. (#8865)
Fixed
Fixes 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)
Fixed
Fixes a crash when using custom versions of SQLite 3.11 or higher. (#8967)
6.2.1 - 30 Nov 2016
API
Adds indexedUIDCount
and indexedUIDs
properties to PSPDFLibrary
. (#8757)
Changed
Changed
Improves the UI when asking for an author name the first time the user wants to add an annotation. (#6160)
Added
Adds key commands to allow up/down arrow keys on a physical keyboard to change pages. (#8395)
Fixed
Fixes a missing deprecation statement on -[PSPDFDocument diskCacheStrategy]
. Disk cache strategy is deprecated since PSPDFKit 6.1. (#8783)
6.2.0 - 28 Nov 2016
API
Changes PSPDFDocumentSharingCoordinatorDelegate
selector from documentSharingCoordinator:didFailWithError:
to documentSharingCoordinator:didFinishWithError
. New call is more general and is called on success and on failure. (#8568)
API
Changes -[PSPDFDocumentSharingViewController initWithDocument:]
(and for subclasses) to -[PSPDFDocumentSharingViewController initWithDocuments:]
. Update property document
to documents
in PSPDFDocumentActionExecutor
. (#8595)
API
Adds new options to customize the appearance of PSPDFSearchViewController
. (#8679)
API
Adds closeMode
property to PSPDFTabbedViewController
, which may be used to show the close button in all tabs, or in all tabs but only in regular width size classes. The Boolean allowsClosingDocuments
is deprecated. If you previously set this property to NO
, use PSPDFTabbedViewControllerCloseModeDisabled
instead. The default behavior has not changed. (#8595)
Added
Adds support for rendering annotations in their corresponding color in (color correct) night mode. (#8582)
Added
Adds support for annotation flags PSPDFAnnotationFlagReadOnly
and PSPDFAnnotationFlagLocked
. (#1182)
Changed
The 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)
Changed
Improvements to the render engine for performance and correctness. (#8310)
Changed
Improves memory handling in low-memory situations and with many open documents. (#8352, #8447)
Changed
Improves document sharing by adding support for handling multiple documents. (#8715)
Changed
Improves user experience when adding a new page via the Document Editor. (#8450)
Changed
Improves performance of decoding JPEG images. (#8712, #8673)
Changed
Improves disk cache. It is now smarter which leads to smaller cache size in many cases. (#8648)
Changed
Improves compatibility with Swift. (#7990, Z#5063)
Changed
Improves software dimming so it no longer affects the navigation bar style. (#8663)
Changed
Improves handling of camera access being denied when using UIImagePickerController. (#8546)
Changed
Improves bookmark handling in Processor and DocumentEditor. (#8091)
Changed
Improves scrubber thumbnail shadow rendering in double page mode. (#8669)
Changed
Improves text when no search results are found. (#8769)
Changed
Improves translations. (#8698)
Changed
Improves PSPDFLibrary
's handling of documents that are to be removed from the index.
Changed
Works around a UIKit issue that disables user interaction on custom bar button items in some scenarios. (V#407, rdar://problem/18906964)
Fixed
Fixes an issue where pdfViewController:didShowController:options:animated:
could pass nil
as the controller
parameter in rare cases. (#8641)
Fixed
Fixes an issue where form elements where partly parsed if they were not part of the license. (#8567)
Fixed
Fixes memory issues in the document sharing controllers. (#8568)
Fixed
Fixes an issue where PSPDFLibraryFileSystemDataSource
incorrectly handled removal of a document from the search index (#8642).
Fixed
Fixes an issue where the PDF file was modified even if PSPDFAnnotationSaveModeExternalFile
was specified. (#8667)
Fixed
Fixes an issue with flattened form annotations. (#8151)
Fixed
Fixes an issue where the "Open In" option didn't export a document if it wasn't file based. (#8683)
Fixed
Fixes an issue where annotations could be printed when the "Print without annotations" option was selected. (#8650)
Fixed
Fixes an issue where text selection was broken after the app came back from background. (#8660)
Fixed
Fixes the tabbed bar not scrolling to show all of the selected tab if the tapped tab is already selected. (#8687)
Fixed
Fixes an issue that caused annotations to flicker when deselecting while a render view was present. (#8661)
Fixed
Fixes an issue requesting text from glyphs on certain documents. (#8657)
Fixed
Fixes an issue where the text selection is lost when switching apps. Tapping the selection brings back the menu now. (#8458)
Fixed
Fixes an issue where text was rendered incorrectly. (#8102)
Fixed
Fixes an issue where the pdfDocumentDidSave:
delegate callback was invoked despite the document not being modified by the save operation. (#8722)
Fixed
Fixes a crash that could occur when the device was rotated while the content offset was animated in continuous scroll mode. (#8710)
Fixed
Fixes an issue where arrow annotation default style changes were leaking over to line annotations. (#8691)
Fixed
Fixes an issue where scrubber thumbnail shadow was applied multiple times. (#8669)
6.1.0 - 15 Nov 2016
PSPDFKit now requires and is built with Xcode 8.1 (8B62).
API
Adds new Analytics API. (#8224)
API
Adds document saving callbacks to PSPDFDocumentDelegate
. (#8234)
Added
Adds CoreSpotlight indexing to PSPDFLibrary
which adds entire PDFs (with full text) to native search. (#6966, #8421)
Added
Adds PSPDFMemoryCache
and PSPDFDiskCache
to give more control over the behavior of the cache. (#7964)
Added
Adds 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)
Added
Adds translations for using-facing strings in all supported languages (#8613)
Added
Adds option to add a new page in the Document Editor using an image. (#8219)
Added
Adds support for custom CIFilter when rendering. (#8332)
Changed
Improves visibility of disabled toolbar buttons. (#8319)
Changed
Improves page index restoration when rotating from double page mode to single page mode. (#8272)
Changed
Improves view state restoration when scrolling between pages. (#8373)
Changed
Improves memory usage handling of PSPDFProcessor
. (#8352)
Changed
Improves digital signature permissions. (#8391)
Changed
Improves handling of bookmarks for nonexistent pages. (#8466)
Changed
Improves document editor page rendering by showing annotations. (#8467)
Changed
Improves layout in thumbnail mode in some edge cases. (#8466)
Changed
Improves memory cache efficiency when using the scrubber bar in large documents. (#8470)
Changed
Improves the default value for the page range when exporting a document. (#8532)
Changed
Improves document caching behavior when using the document editor. (#8537)
Changed
Improves view state restoration when returning from background. (#8307)
Changed
Improves the look of the search results. (#8490)
Fixed
Fixes a race condition where PSPDFDocumentUnderlyingFileChangedNotification
and pdfDocument:underlyingFileDidChange:
were triggered even though the save originated from the document itself. (#8525)
Fixed
Fixes a race condition in the Document Editor. (#8370)
Fixed
Fixes a few rare crashes that we discovered in the SDK after shipping PDF Viewer. (#8367)
Fixed
Fixes an issue where annotations didn't update when dragging resizing knobs unless their bounding box changed. (#8354)
Fixed
Fixes an issue that could occur during app termination under rare conditions. (#8366)
Fixed
Fixes an issue due key-value observing of title
in specific situations. (#8376)
Fixed
Fixes an issue where images from the camera weren't compressed according to PSPDFDefaultImageCompressionKey
. (#8154)
Fixed
Fixes an issue in the Document Editor when selecting all pages could cause collection view crash. (#8402)
Fixed
Fixes an issue on adding annotations to a document with a DocMDP
signature. (#8391)
Fixed
Fixes an issue that made the close button reappear after setting it to nil. (#8383)
Fixed
Fixes an issue with sound annotations being distorted or rendered incorrectly. (#8386, #8429)
Fixed
Fixes an issue that leads to excessive CPU usage when opening invalid documents. (#8427)
Fixed
Fixes an issue where the caret in a note's text view was missing when editing. (#8381)
Fixed
Fixes an issue where adding a custom stamp did not always exit the stamp mode automatically. (#8462)
Fixed
Fixes an issue where line annotations were saved in a wrong format. (#8396)
Fixed
Fixes an issue where some annotations flickered when selecting them. (#8469)
Fixed
Fixes an issue where background updates via document JavaScript might cause property changes on the wrong thread. (#8468)
Fixed
Fixes an issue where annotations could be rendered with a wrong image. (#8493)
Fixed
Fixes an issue where the border of a page in the thumbnail view wasn't rendered correctly in rare cases. (#8380)
Fixed
Fixes an issue where text annotation was always scrolled to the top of the keyboard when continuous scrolling was used. (#8355)
Fixed
Fixes an issue where tabbedPDFController:shouldChangeVisibleDocument: and tabbedPDFController:didChangeVisibleDocument: could be called without the document actually changing. (#8530, #8525)
Fixed
Fixes an issue where language auto-detection for text-to-speech could fail in rare cases. (#8593)
Fixed
Fixes an issue with opening a PDF with bookmarks in Preview.app. (#8591)
Fixed
Fixes an issue where stamp annotations could disappear. (#8597)
Fixed
Fixes an issue where modifying the document page count using the document editor could trigger an assertion in continuous scroll mode. (#8604)
Fixed
Fixes incorrect declaration of PSPDFLogLevelMask. It's now correctly marked as an NS_OPTIONS bitmask. (#8628)
Fixed
Fixes an issue where the first page could not be selected in the scrubber bar in some cases. (#8623)
Fixed
Fixes an issue with the document editor's page sizes when adding new pages. (V#381)
6.0.3 - 24 Oct 2016
Changed
Improves customization of close button by making -[PSPDFNavigationItem closeBarButtonItem]
nullable. (#8206)
Changed
Improves updating bar button items that are not currently added to PSPDFViewController's navigation item. (#8086)
Changed
Improves large memory usage handling of PSPDFProcessor
. (#8291)
Changed
Improves render performance in cases where a large image is already available in the cache. (#8334)
Changed
Update notes font to match current iOS look and feel. (#8267)
Added
Adds translations for user-facing strings in the settings for the languages de, en, es, fr, ja, ru, zh-Hans and zh-Hant. (#8286)
Added
Adds option alwaysRewriteOnSave
to PSPDFDocument
to allow rewriting the whole document on demand. (#8290)
Fixed
Fixes an issue that produced a large number of cache misses in the disk cache. (#8334)
Fixed
Fixes an issue where annotations could be added even though annotations were disabled. (#8123)
Fixed
Fixes an issue where the action executor could assert when no document was set. (#8232)
Fixed
Fixes an issue where in very rare cases, vertical numbers could be reversed. (#5203)
Fixed
Fixes issues when saving to the current file in the document editor. (#8259, #8233)
Fixed
Fixes an issue where the default tint color was not applied for knob views. (#7940)
Fixed
Fixes an issue where stamps with a missing subject caused rendering issues. (#8296)
Fixed
Fixes an unlikely crash in annotation parsing. (#8295)
Fixed
Fixes an issue with embedding new sound annotations. (#8207)
Fixed
Fixes an issue where the menu controller was unexpectedly hidden. (#8169)
6.0.2 - 10 Oct 2016
Changed
PSPDFViewController
, PSPDFMultiDocumentViewController
and PSPDFTabbedViewController
now update the UI when document titles change. (#8120)
Changed
Performance and stability improvements to the PDF render engine. (#7890)
Changed
Improves flattening logic for PDFs with extensive use of ExtGStates
dictionaries. (#7484)
Changed
Improves image caching for annotations. (#8114)
Changed
Relaxes licensing logic to be more forgiving when the license key is set at a later stage. (#7984)
Changed
If document.canSaveAnnotations
is false, the annotation view is configured to not be editable by default. (#8116)
Fixed
Fixes an issue where the annotation menu was not updated correctly for certain edge cases. (#8036)
Fixed
Fixes an issue where disabling annotations caused the document to render incorrectly. (#7992)
Fixed
Fixes an issue where moved files were not detected correctly. (FS#50)
Fixed
Fixes an issue where swiping through a large PDF could cause a crash. (#8141)
Fixed
Fixes issues with flattening annotations on certain documents. (#7484, #7486)
Fixed
Fixes an issue where the menu controller was not correctly hidden when some annotation types were deselected. (#7986)
6.0.1 - 3 Oct 2016
Changed
Updates OpenSSL to 1.0.2j. (#7989)
API
Make setRotation:forPageAtIndex:
on PSPDFDocumentProvider
public again. (Z#4618)
Changed
The PSPDFBookmarkViewController
no longer calls save:
automatically when dismissed. (#8033)
Changed
Improves thumbnail rendering related to the night mode settings. (#7913)
Changed
Improves memory usage when searching in a large document. (#7958)
Changed
Improves annotation handling in environments that do not allow saving annotations. (#7595)
Changed
Improves delegate behavior for pdfViewController:didRenderPageView:
which is now also called in case of a cache hit. (#8020)
Changed
Improves handling search results for deleted or changed annotations. (#8030)
Fixed
Fixes an issue where images in a too low resolution could be cached. (#8057)
Fixed
Fixes an issue with night mode and the tabbed view controller. (#7913)
Fixed
Fixes an issue where PSPDFViewController wrongly displayed a close button in certain scenarios. (#7993)
Fixed
Fixes an issue where annotations could be edited but not saved. (#8002)
Fixed
Fixes an issue where annotations were not positioned correctly if the page was rotated and cropped. (#7922)
Fixed
Fixes an issue where an annotation could disappear when other annotation was selected. (#8035)
Fixed
Fixes an issue where circle annotation's border was not rendered. (#7982)
6.0.0 - 23 Sep 2016
PSPDFKit 6 is a major new release. 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.
API
Many getters/setters named page
or pageNumber
have been renamed to pageIndex
. (#7451)
API
The combineInk
property on PSPDFDrawView
has been renamed to drawCreateMode
and exposed to PSPDFConfiguration
. (#7344)
API
PSPDFPlugin
has been removed. Use PSPDFStylusManager.availableDriverClasses
to configure drivers. (#7266)
API
Initialization methods of PSPDFProcessorSaveOptions
has been changed to be cleaner and convenience initialization has been deprecated. (#7422)
API
settingsOptions
configuration property is set to All
by default, but settingsButtonItem
has to be explicitly added to navigation item. (#7310)
API
Removes the legacy PSPDFLinkAnnotationView.overscan
property. (#7521)
API
Replaces NSSet<NSNumber *>
with NSIndexSet
in the document editor classes. (#7676)
Changed
Updates OpenSSL to 1.0.2i. (#7944)
Added
Adds an option to set the line width of the eraser tool using PSPDFAnnotationStyleManager
. (#7748)
Added
Adds a page mode control to PSPDFSettingsViewController
. (#7708)
Added
Adds a configurable bookmark indicator button to each page of the PDF. (#7224)
Added
Adds haptic feedback on the iPhone 7 and 7 Plus using the UIFeedbackGenerator
API. (#7906)
Added
Adds new keyboard shortcuts for iPad hardware keyboards. (#7707)
Changed
The link annotation borders are now hidden by default. (#7521)
Changed
The useParentNavigationBar
configuration option now forwards the prompt
, backBarButtonItem
and hidesBackButton
properties to the parent’s navigation item. (#7577)
Changed
The page labels are now automatically dimmed in night mode. (#7562)
Changed
The PSPDFNavigationItem
now has API to manage the close button in case the view controller is presented in a modal context. (#7509)
Changed
Makes PSPDFDefaultFileManager
use background tasks when performing coordinated file access. (#7603)
Changed
Make zoom out behaviour consistent -- double tapping when zoomed in now always zooms out. (#7394)
Changed
Makes all annotation line endings solid, irrespective of the line's style. (#7715)
Changed
Calling reloadData
on PSPDFViewController
now automatically preserves the current view state. (#7418)
Changed
Logging now uses the constants from os_log
. (#7493)
Changed
Improves the performance and memory situation of the thumbnail view mode and the document view mode. (#7915)
Changed
Improves the API for rendering and caching document. (#6881, #7645)
Changed
Improves toolbar drag gesture by prioritizing it over the interactive pop gesture. (#7369)
Changed
Improves audio annotation UI. (#7404)
Changed
Improves text selection UI in several edge case scenarios. (#7399, #7400)
Changed
Improves how the tabbed view controller handles files and saves. (V#83, V#92)
Changed
Improves PSPDFDefaultFileManager
to use background tasks when performing coordinated file access. (#7603)
Changed
Improves stamp annotation inspector, which now opens with the last recently selected tab. (#7446)
Changed
Improves annotation button handling when annotation saving is disabled. (#7590)
Changed
Improves resource usage when indexing a large amount of documents. (#7397)
Changed
Improves notification based APIs with Swift friendly NSNotificationName
type. (#7825)
Changed
Improves performance of loading annotations in certain situations dramatically. (#7873)
Removed
Removes 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)
Fixed
Fixes an issue where batch updates where not posted when interactively picking a color. (#6900)
Fixed
Fixes an issue where ink annotations were not rendered with the proper line thickness in some cases. (#7437)
Fixed
Fixes an issue where ink annotations were not unarchived properly from old NSKeyedArchiver
files. (#7629)
Fixed
Fixes 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)
Fixed
Fixes changing the documents of the tabbed view controller before the view was loaded resulting in loading the view and possibly crashing. (#7563)
Fixed
Fixes the tabbed view controller not scrolling to show newly inserted documents. (#7561)
Fixed
Fixes navigation item updates not being animated in some cases. (#7577)
Fixed
Fixes an issue where the text selection offsets were wrong in certain documents. (#7271)
Fixed
Fixes an issue where the tabbed bar could be incorrectly positioned after interface rotation. (#7179)
Fixed
Fixes an issue where shared document might not have recent changes. (#7717)
5.5.5 - 22 Sep 2016
5.5.4 - 20 Sep 2016
Changed
Improves handling of document titles with specific characters. (#7787)
Fixed
Fixes an issue where the menu controller blur background was larger than the actual popover by working around an UIKit bug. (rdar://28275291, #6162)
Changed
Renames 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 for more details.
Changed
Changes some internal API to prevent triggering of Apple's private API checks. (#7751)
Fixed
Fixes an issue where the page index was not shown in certain cases in thumbnail mode. (#7740)
Fixed
Fixes an issue with changing the appearance mode in PSPDFTabbedViewController
. (#7658)
Changed
Improvements to the rendering engine and speed enhancements. (#7760)
5.5.2 - 5 Sep 2016
Added
Adds option to change the color for the thumbnail button in page label. (#7696)
Fixed
Fixes 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)
Fixed
Fixes the eraser overlay when using an Adonit stylus. (#7535)
Fixed
Fixes an issue where a highlight annotation was rendered with a border. (#7618)
Fixed
Fixes issues where clearing of text field form elements was not working correctly. (#7623)
Fixed
Fixes an issue where some documents couldn't be exported or printed. (#7585)
Changed
The 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)
Changed
Changed
Checks the linked SDK with the expected value and warns if there is a mismatch. (#7407)
Changed
Improves the view state restoration logic when a view controller is presented/dismissed above the PSPDFViewController
. (#7450)
Fixed
Fixes an issue where the playback duration of a sound annotation was wrong in some cases. (#7401)
Fixed
Fixes an issue where files were no longer monitored for file changes after they have been saved once. (#7319)
Fixed
Fixes an issue where file handlers where not properly closed in some cases. (#7319)
Fixed
Fixes an issue where invoking a cached PSPDFSearchViewController
without changing search terms could lead to missing highlights. (#7445)
Fixed
Fixes an issue where thumbnail generation could crash if the size of the first page couldn't be read. (#7443)
Fixed
Fixes an issue where a popover might be incorrectly re-positioned after keyboard presentation. (#7456)
Fixed
Fixes an issue where PSPDFLibrary.saveReversedPageText
couldn't be disabled. (#7519)
Fixed
Fixes an issue where frequent rendering passes could cause a crash. (#7570)
5.5.0 - 28 Jul 2016
Added
Adds new helpers methods to get and set the default annotation username. (#7265)
Changed
Renders appearance stream for Square and Circle annotations if one is set. (#7327)
Changed
Improves performance around rendering JPEG 2000 and annotation parsing.
Changed
Improves content search within annotations to no longer search generated text like "Ink Annotation". (#7270)
Changed
Improves compatibility when flattening documents with non-standard headers. (#7212)
Changed
Improves annotation change updates. (#6196)
Changed
Improves search popover placement logic when the toolbar is not at the top of the screen. (#7233)
Changed
Improves logic around copying forms via the processor when the source document has invalid form entries. (#7273)
Changed
Improves scrolling performance of the thumbnail view. (#6503)
Changed
Improves alert presentation in popovers. (#7277)
Changed
Improves JPEG2000 decoding performance. (#7307)
Changed
Improves Wikipedia language resolving and popover presentation. (#7322)
Fixed
Fixes an issue while processing documents with unsaved annotations. (#7135)
Fixed
Fixes possible logging about unsatisfiable constraints when the view is not full screen. (Z#3346)
Fixed
Fixes the placeholder for when there is no document sometimes being displayed too low when the view is not full screen. (#7239)
Fixed
Fixes an issue with custom thumbnail layouts that are not based on PSPDFThumbnailFlowLayout
. (#7249)
Fixed
Fixes an issue where plugin ordering was reversed. Make sure to check if plugins are still called after this update. (#7268)
Fixed
Fixes an issue where Swift-based plugin subclasses were not always automatically detected if they were based on an existing plugin class. (#7268)
Fixed
Fixes an issue where incorrect annotation search results could be returned. (#7343)
5.4.1 - 8 Jul 2016
API
activityViewControllerWithSender:
on PSPDFViewController
now enables getting a preconfigured activity view controller instance. (#7147)
API
Exposes application
on the PSPDFKit singleton to customize URL opening behavior. (e.g. you can now override canOpenURL:
)
Changed
Improves exporting of images that are mirrored in the PDF document. (#7089)
Changed
Improves color generation for knobs. (#6852)
Changed
Improves annotation cell layout in edit mode. (#4158)
Fixed
Fixes a regression in iOS 10 where UIActivityController
would crash on presentation. (rdar://27261367, #7181)
Fixed
Fixes an issue while processing documents with unsaved annotations. (#7135)
Fixed
Fixes an issue with extracting embedded files. (#7154)
Fixed
Fixes an issue with propagating isEncrypted
properly. (#7153)
5.4.0 - 1 Jul 2016
API
renderOptions
now has an associated type. The property has been deprecated in favor of setRenderOptions:type:
and getRenderOptionsForType:context:
where context depends on the type. This also removes the previous subclassing hook renderOptionsForPage:
. Subclass getRenderOptionsForType:context:
directly instead if you need this kind of advanced behavior.
Changed
Improves document parsing to be both faster and cover more edge cases with non-standard-compliant documents. (#6820)
Removed
Removes workaround for rdar://23285766 (Swift over-optimization) as this has been fixed in Swift 2.2. (#6880)
Added
Adds sqlite3 compile option checks for THREADSAFE
, ENABLE_FTS3
, ENABLE_FTS3_PARENTHESIS
. (#6950)
Added
Adds support for creating a temporary data provider to PSPDFFileManager
. This enables the PSPDFProcessor
to use a secure temporary file, if wanted. (#7056)
Changed
Improves UIAppearance
support on PSPDFLabelView
and PSPDFBackForwardButton
and freshens up the default design. (#7073)
Changed
Improves annotation editing behavior for protected documents. (#6885)
Changed
Improves the layout of segmented controls when space is limited. (#6889)
Changed
Improves loading of asset annotations. (#6879)
Changed
Improves handling of outline view. (#6902)
Changed
Improves PSPDFProcessor
API to allow processing into a id<PSPDFDataSink>
. (#7042)
Changed
Improves rendering performance in certain situations. (#6944)
Changed
Improves accessibility around cells with sliders. (#7046)
Changed
Improves handling of corrupt cross reference tables in PDFs. (#6838)
Changed
Improves precision when writing highlight annotations, leading to better highlightedString
results. (#6652)
Changed
Improves height calculation logic for the page range selection view controller. (#7104)
Changed
Improves containsAnnotations
no longer counts already (soft) deleted annotations. (#6956)
Changed
Improves reliability of aspect-locked resizing with PSPDFGuideSnapAllowanceAlways
. (#7088)
Changed
Improves rotation animations in continuous scrolling mode. (#7077)
Changed
Improves text markup annotations rendering for rotated page. (#6477)
Changed
Improves zoom behavior when searching for annotations. (#6890)
Changed
Silences a missing license feature warning when toggling the HUD. (#7018)
Fixed
Fixes subclassing of text overlay annotations. (#6954)
Fixed
Fixes a visual glitch during PSPDFBackForwardButton
fadeout animation. (#7103)
Fixed
Fixes an issue where statically linked sqlicipher library conflicted with OS version dynamically linked in PSPDFKit.framework. (#6929)
Fixed
Fixes an issue where a document couldn't be unlocked due to a overflowing integer in the document. (#6919)
Fixed
Fixes an issue with sqlite3_errstr
not being available before iOS 8.2. (#6970)
Fixed
Fixes an issue where setting PSPDFDocumentSharingOptionPageRange
could trigger an assertion while printing. (#6953)
Fixed
Fixes an issue where schemes where interpreted case sensitive when creating URL actions on iOS 9. (#6960)
Fixed
Fixes an issue where the add bookmark button was not presented in the bookmarks popover. (#7011)
Fixed
Fixes an issue where incorrect bookmark name was displayed on the list right after adding new bookmark. (#7026)
Fixed
Fixes an issue where a free text annotation couldn't be embedded in a document that contains invisible text. (#7008)
Fixed
Fixes an issue where a page couldn't be properly rotated to 0. (#7044)
Fixed
Fixes an issue where setting the document on controller during presentation transition could result in broken page navigation. (#7054)
Fixed
Fixes an issue where NSData
backed files with dots in their title where not exported correctly when sharing. (#6904)
Fixed
Fixes an issue on trying to strip empty pages. (#7015)
5.3.8 - 6 Jun 2016
Added
Adds PSPDFRenderInteractiveFormFillColorKey
as a render option to make the form element color override customizable. (#6529)
Added
Adds a better log message if a document is encrypted and annotations can't be embedded. (#6765)
Added
Adds cropBox
and mediaBox
to PSPDFPageInfo
. (#6745)
API
The vertices
property of PSPDFImageInfo
is now boxed instead of a raw pointer array. (#6831)
API
The public constructor for PSPDFImageInfo
has been removed - this class should never be manually constructed. Instead, get it from PSPDFTextParser
. (#6831)
Changed
Improves rendering performance for some complex documents. (#6686)
Changed
Improves the position of the filter UI element in the thumbnail view mode. (#6651)
Changed
Improves security in various critical areas of the framework via a code audit. (#6774)
Fixed
Fixes a regression that raised an exception when changing the font or resizing a free text annotation. (#6709)
Fixed
Fixes an issue where UI was clipped in a scrollable thumbnail bar in rare cases. (#6695)
Fixed
Fixes an issue where multiple embedded files would not be correctly displayed. (#6784)
Fixed
Fixes an issue related to JavaScript and forms that could lead to a type mismatch for the contents
property. (#6781)
Fixed
Fixes an issue where bar button items would not always correctly update when using PSPDFTabbedViewController
. (#6789)
Fixed
Fixes an issue where content would be inset to account for the tabbed bar even when the tabbed bar was hidden. (#6787)
Fixed
Fixes an issue where during annotation resize the wrong coordinates where used in rare conditions. Replaces -[PSPDFResizableView centerPointForOuterKnob:]
with -[PSPDFResizableView centerPointForOuterKnob:inFrame:]
. (#6828)
Fixed
Fixes an issue where some Free Text Annotations disappeared while editing. (#6826)
5.3.7 - 27 May 2016
Added
Adds API to customize the color pickers. (#4502)
Added
Adds API titleForDocumentAtIndex:
as subclassing hook on PSPDFMultiDocumentViewController
. This can be used to customize tab bar titles. (#6693)
Added
Adds support for scaling a page in PSPDFProcessor
.
Added
Adds support for changing the CropBox or MediaBox in PSPDFProcessor
.
Changed
Improves the PSPDFKit
shared instance to no longer automatically load, which can slightly improve startup performance. (#6682)
Fixed
Fixes a regression that could prevent the 'more' menu from appearing in the document editor. (#6619)
Fixed
Fixes an issue where note annotations rendered as a black icon when embedded into a document. (#6411)
Fixed
Fixes an issue where saved values in the text fields being hidden in other PDF readers. (#6589, #6593)
Fixed
Fixes an issue where text form fields (rotated) were using a huge font size for the content. (#6595)
5.3.6 - 18 May 2016
Changed
Updates OpenSSL to 1.0.2h.
Added
Adds a delegate method (documentSharingViewController:willShareFiles:
) that enables access to files/file names before they are shared. (#6597)
Added
Adds a pageMargins
setter on PSPDFNewPageConfigurationBuilder
. (#6566)
Changed
Improves the PSPDFProcessorConfiguration
initializer for creating a completely new document. (#6566)
Changed
Improves the handling of annotations when the delegate does not return them via pdfViewController:shouldSelectAnnotations:onPageView:
. (#6143)
Changed
Improves touch handling logic for forms that are readonly. (#6143)
Changed
Improves link handling inside an web or text view within sheet presentation of modal view controllers by working around an UIKit bug. (rdar://26295020, #6580)
Changed
Improves performance, placement and aspect ratio handling of annotations during resizing. (#6556)
Changed
Improves keyboard handling for form elements. (#6551)
Fixed
Fixes a regression that could cause issues with searching via PSPDFSearchViewController
. (#6605)
Fixed
Fixes an issue where resizing multiple annotations could lead to an assertion. (#6528)
Fixed
Fixes an issue where page layout could be offset too much after rotating in continuous scroll mode. (#6563)
Fixed
Fixes 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)
API
The render manager has been streamlined and the renderer accessor has been made readonly and deprecated. (#6498)
Added
Adds the option to share images of the current page via PSPDFDocumentSharingOptionImage
. (#2793)
Added
Adds an option to choose the last line alignment of thumbnail layouts. (#6502)
Added
Adds configurable PSPDFSettingsViewController
that can be used to change some UX aspects of PSPDFViewController
. (#6082)
Added
Adds PSPDFBrightnessManager
that controls screen brightness. (#6082)
Changed
Improves the way how speech synthesis detects the voice it uses. (#6481)
Changed
Improves gesture detection in the color picker. (#5669)
Fixed
Fixes an issue where the text to speech voice sounded very robotic (#6481)
Fixed
Fixes an issue where selecting an annotation which had no color set could lead to an assertion. (#6496)
Fixed
Fixes an issue where the processor didn't rotate the document correctly. (#6493)
Fixed
Fixes an issue where flattened annotations were misplaced. (#6510)
Fixed
Fixes an issue where the document provider rotation wasn't taken into account on exporting with the processor. (#6516)
Fixed
Fixes an issue where the rotation animation did not look right. (#6131)
Fixed
Fixes an issue that could lead to presented view controllers being mistakenly dismissed. (#6512)
Fixed
Fixes an issue that could lead to crashes when calling description
on some model objects. (#6524)
Fixed
Fixes an issue with "light" weight font was selected in font substitution process instead of the missing "regular" weight font. (#6487)
Removed
Deprecates configuration methods on PSPDFBrightnessViewController
. Use PSPDFBrightnessManager
instead. (#6082)
5.3.4 - 4 May 2016
This version has been compiled with Xcode 7.3.1.
Added
Adds a convenient way to enforce aspect ratio preserving annotation resizing. See AspectRatioConservingResizingExample.swift
and the new PSPDFGuideSnapAllowanceAlways
constant. (#6373)
Added
Adds logic to automatically stop recording sound annotations. The default is 5 minutes. This can be changed through -[PSPDFConfiguration soundAnnotationTimeLimit]
. (#4920)
Added
Adds a file watcher: PSPDFDocument
now notifies the delegate when underlying files are updated by another source. (#6399)
Changed
Set correct class visibility for PSPDFNewPageConfigurationBuilder
.
Changed
Improves the way search results are displayed. (#6231, #6011)
Changed
Improve performance when opening the Thumbnail view. (#5874, #6148)
Changed
Improves error handling for digital signatures verification. (#6253)
Changed
Improves the PSPDFProcessor
API and clarifies the save options. (#6463)
Fixed
Fixes an issue that caused a crash during search. (#6425)
Fixed
Fixes an issue that caused extensive CPU usage when no document was set on a PSPDFViewController
. (#6418)
Fixed
Fixes an issue where the annotation browser was rendering text annotations without whitespaces in some cases. (#6273)
Fixed
Fixes an issue where the page label could incorrectly capture certain touches. (#6360)
Fixed
Fixes an issue where the minimum annotation size would not be correctly enforced after interface rotation (#6382).
Fixed
Fixes an issue where note annotations weren't correctly embedded while processing. (#6411)
Fixed
Fixes an issue where the duration could be displayed as indeterminate in rare cases for m3u8 playlists. (#6450)
5.3.3 - 22 Apr 2016
Changed
The document editor API now supports new document creation. (#6262)
Changed
PSPDFViewController
now honors the initial page setting, even for password protected documents. (#6146)
Changed
Improves page movement UI in the document editor. (#6159)
Changed
Localization updates and fixes.
Changed
Improves margin handling in certain view modes and adds a new example - DynamicMarginsExample
. (#6294)
Fixed
Fixes an issue where annotations were not always copied correctly in the document editor when the page already exists. (#6216)
Fixed
Fixes an issue where screen brightness slider had wrong initial value. (#6245)
Fixed
Fixes an issue where sound and video gallery items did not stop playing when changing view modes. (#5997)
Fixed
Fixes an issue where umlauts where stripped after saving a choice annotations. (#6285, #6323)
Fixed
Fixes an issue where the wrong value was saved when selecting an option from a choice annotation. (#6285)
Fixed
Fixes an issue where a presented JavaScript alert could be automatically dismissed after presentation. (#5996)
Fixed
Fixes an issue in certain documents where text selection contained more text that was actually selected. (#6213)
Fixed
Fixes an issue with watermarking multiple (50+) pages using the PSPDFProcessor. (#6031)
Fixed
Fixes an issue where a gallery displayed in a popover would not switch into fullscreen on double-tap. (#6296)
Fixed
Fixes an issue that stopped audio playback from other apps during framework initialization. (#6330)
Fixed
Fixes an issue where landscape pages didn't rotate correctly. (#6265)
Fixed
Fixes an issue where a deprecated syntax variant of the JavaScript mailDoc
function was handled incorrectly. (#6331)
Fixed
Fixes an issue where flattening and removing annotations at the same time caused problems. (#6344)
5.3.2 - 14 Apr 2016
Added
Adds an API to customize the controller state UI added in 5.3.0. (#6106)
API
The undo methods in PSPDFAnnotationStateManager
are now deprecated, use PSPDFUndoController
on PSPDFDocument
instead. (#6177)
Changed
If annotations are changed programmatically, they are now correctly updated even if they have just been created via the annotation toolbar. (#6195)
Changed
Annotation 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)
Changed
The processor now supports copying forms from source and any external document to the generated document. (#5975)
Fixed
Fixes incorrect assertions on some document editor controllers on iOS 8. (#6188)
Fixed
Fixes an issue where delayed document setting could result in missing updates on the scrubber bar. (#6210)
Fixed
Fixes an issue that resulted in a crash in the page range selection on iOS 8. (Z#3370)
Fixed
Fixes an issue when checking for a default password upon annotation saving.
Fixed
Fixes an issue that prevented PSPDFUndoControllerRemovedUndoActionNotification
from being sent out. (#6177)
Fixed
Fixes an issue where thumbnail cells had a wrong image position. (#6174)
Fixed
Fixes selection and menu placement for non-editable note annotations. (#6215)
Fixed
Fixes an issue where software dimming view wasn't correctly positioned. (#6203)
5.3.1 - 8 Apr 2016
API
The variant that returns NSData
on PSPDFProcessor.generatePDFFromConfiguration
now correctly maps into Swift with a throws
. (#6051)
Changed
PSPDFDocument
has a new helper containsAnnotations
which scans the document if it contains any relevant annotations (excluding links and widgets/forms). (#6099)
Changed
Pages 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)
Changed
The Document Editor now preserves as much as possible from an existing outline. (#5993)
Added
Adds new document editing examples to PSPDFCatalog. (#6075, #6055)
Changed
Improves various status HUD symbols. They are now more in line with the modern iOS design and even subtly animate when being displayed. (#5829)
Changed
Improves toolbar button spacing and layout in compact sizes. (#5862)
Changed
Changes the unit for line thickness to pt. (#4694)
Changed
Filtering empty pages no longer filters the last white page preventing the creation of an invalid document. (Z#3384)
Changed
Various smaller performance improvements to the rendering engine.
Fixed
Fixes an issue where -[PSPDFDocument saveAnnotationsWithCompletionBlock:]
called the completion handler on an internal background queue when saving annotations. (#6033)
Fixed
Fixes 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)
Fixed
Fixes an issue where in rare cases page rendering was incorrect after rotating the screen. (#5527)
Fixed
Fixes an issue that resulted in auto layout complaining about unsatisfiable constraints. (Z#3346)
Fixed
Fixes an issue that resulted in the creation of page views even though the document was nil
. (#6008)
Fixed
Fixes an issue related to floating point calculations in the color picker when choosing a fill color on ARMv7 devices. (#6054)
Fixed
Fixes an issue that could prevent the appearance mode from being completely restored when switching back from night mode. (#6080)
Fixed
Fixes an issue resulting in bar button items missing or appearing late in rare cases. (#6072)
Fixed
Fixes an issue that could make pages look blurry when using search under high memory pressure. (#6092)
Fixed
Fixes an issue when trying to save annotations into a document that only has a owner password set. (#6090)
Fixed
Fixes an issue when using a JavaScript action that invoked this.pageNum
. (#6077)
Fixed
Fixes an issue where the rotation set on the PSPDFDocumentProvider
wasn't honored in the PSPDFProcessor
. (#6115)
Fixed
Fixes an issue where the flexible toolbar shadow does not animate together with the toolbar. (#6120)
Fixed
Fixes an issue where text selection stopped working in certain situations. (#6118)
Fixed
Fixes an issue where the share sheet did not respect annotation options. (#6125)
Fixed
Fixes 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.
Changed
Compiled with and requires Xcode 7.3.
API
PSPDFProcessor
is now more powerful, but has breaking changes. See PSPDFProcessorConfiguration
for details. (#5742)
Added
Adds a complete new UI in case that the PSPDFViewController
is unable to load a document or is empty. (#5510)
Changed
Improves the look of the password entry screen for locked PDF files. (#5510)
Changed
Bar button items can now be configured on a custom navigationItem
. PSPDFViewController
’s leftBarButtonItems
and rightBarButtonItems
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)
Changed
When tapping on a search result we now zoom to show the result in the document. This can be adjusted via -[PSPDFConfiguration searchResultZoomScale]
. (#5758)
Changed
Replaces the smartZoomEnabled
property of PSPDFConfiguration
with a doubleTapAction
property to be more flexible. (#4998)
Changed
The logic that finds custom search buttons is now smarter and will correctly anchor the search popover in more cases. (Z#3154)
Changed
The user can now select a range of pages to be exported when PSPDFDocumentSharingOptionPageRange
is an allowed option. (#4573)
Changed
The user can now choose to only export annotated pages when PSPDFDocumentSharingOptionAnnotatedPages
is an allowed option. (#4397)
Changed
The current search popover is now cached for faster access and to maintain the scroll position. (#5734)
Changed
Increase memory limit for images to allow rendering more complex documents. (#5677)
Changed
Uses the Photos framework instead of the Assets Library framework.
Changed
PSPDFDocument
now implements UIActivityItemSource
in a way that is compatible with Facebook, Twitter, Sina Weibo and Tencent Weibo. (#2739)
Added
Adds a new PSPDFLinkActionInlineBrowserLegacy
that forces the use of PSPDFWebViewController
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 in SFSafariViewController
. (#5744)
Changed
Better error handling when switching tokenizers in PSPDFLibrary
. (#5771)
Changed
Searching now works better across new lines. (#5751)
Changed
The loupe now resets initial magnification after the line loupe mode has been used. (#5789)
Changed
Optimizes the size of thumbnails in the scrubber bar for very wide page layouts. (#4180)
Changed
Form choice fields with long labels are now fully displayed and switch to multi-line cells automatically. (#5796)
Changed
Improves interface performance when selecting annotations that are backed by complex appearance streams. (#5912, #5913)
Changed
Annotation hit testing extension area has been decreased to allow more precise input. (#5846)
Changed
Improves annotation toolbar autosizing. (#5854)
Fixed
Fixes an issue where the “Dictionary” popover could be incorrectly placed in landscape. (Z#3167)
Fixed
Fixes an issue where we would try to open Safari View Controller for file URLs, which are not supported. (#5837)
Fixed
Fixes an issue where sound annotations would play without making any sound if the Ring/Silent switch is set to silent. (#5672)
Fixed
Fixes 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)
Fixed
Fixes an issue where a PSPDFStatusHUDView
progress could start flickering in rare cases. (#5703)
Fixed
Fixes layout issues with the search bar in the Kiosk example while rotating. (#2350)
Fixed
Fixes an issue where the wrong page could be restored when switching the page mode with page curl transition while margins are set. (#5717)
Fixed
Fixes an issue with a wrong zooming behavior in certain special cases around search results. (#5699)
Fixed
Fixes an issue related to page labels and Korean localization. (Z#3176)
Fixed
Fixes an issue where the outline view did not refresh its size properly. (#5737)
Fixed
Fixes a regression where applying a PSPDFViewState
in viewWillAppear:
fails to restore the viewport in page–scroll–mode. (Z#3202)
Fixed
Fixes a regression where manually overriding the rotation
of the PSPDFPageInfo
object via setRotation:forPage:
did not work in all cases. (#5659)
Fixed
Fixes 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)
Changed
Works around an issue in Xcode 7.3 that broke the Visual Debugger. (rdar://25311044)
Changed
Works around a bug in GLKView
on iOS 9 that could cause a crash under certain rare setups. (Z#3251)
Removed
Deprecates the viewState
property and setViewState:animated:
method on PSPDFViewController
in favor of two new instance methods: captureCurrentViewState
and applyViewState: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)
Changed
Improved search results for PSPDFLibraryMatchExactPhrasesOnlyKey
and PSPDFLibraryMatchExactWordsOnlyKey
. (#5443)
Changed
Images that are too large for menu items are now automatically resized to fit. (#5586)
Changed
Scrolling to a search result now tries to center the result on the page, instead of just making it visible. (#5542)
Changed
Be more selective about what annotation manager states we need to commit before a save event. (Z#3006)
Changed
Sound annotation control buttons now have a larger hit target. (Z#2984)
Changed
The new property originalFile
on PSPDFDocument
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)
Changed
Empty input is now accepted on form fields with number formatting. (#4934)
Added
Adds support for animated GIFs that have a variable frame rate. (#893)
Fixed
Fixes an issue where zooming to a rect misses the target when the view controller is set to continuous vertical scrolling. (#5509)
Fixed
Fixes an issue where plugin classes were not correctly detected, if they inherited from a PSPDFPlugin
adopting class. (#5592)
Fixed
Fixes 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
Changed
The SDK is now only requires app-extension-safe API and automatically detects if in extension mode. (#2954)
Changed
Text and annotation selection now use tintColor
, enabling easier theming by inheriting color from superviews. Selection color can be customized individually by setting tintColor
on PSPDFTextSelectionView
, PSPDFSelectionView
and PSPDFResizableView
.
Changed
The annotation selection knobs have been redesigned so they are more easily visible on various backgrounds. (#5139)
Changed
The framework now shows guides while drawing ovals and rectangles, making it easier to draw circles and squares. (#5376)
Changed
Color 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)
Changed
Simply reselecting an annotation will no longer generate a change notification for the bounding box. (#5444)
Changed
Improves object selection prioritization to objects that are not yet saved. This improves the experience when creating new annotations. (#5305)
Changed
Improves settings controller bridge of the Adonit Stylus SDK. (Z#2960)
Changed
Improves shape stability during drawing on certain modern devices. (#5429)
Changed
Improves logic when saving is invoked while a undo change notification is processed. (#5451)
Changed
Improves the snap to aspect ratio behavior during resizing. (#5161)
Fixed
Fixes an issue where executing JavaScript could result in retaining parts of the model longer than necessary. (#5470)
Fixed
Fixes an issue where the inline search incorrectly highlighted search terms on rotated documents. (#5402)
Fixed
Fixes minor color selection inconsistency on the color picker. (#5268)
Fixed
Fixes minor inconsistencies regarding the sequence of PSPDFAnnotationStyleViewControllerDelegate
calls. (#5380)
Fixed
Fixes memory issues on the annotation inspector. (#5399)
Fixed
Fixes an issue related to PSPDFThumbnailBarModeScrubberBar
and a particular unusual use of the tabbed controller. (#2873)
Fixed
Fixes an issue related to zooming while night-mode is enabled. (#5410)
Fixed
Fixes an iOS 8 code signing issue in strip-framework.sh
. (Z#2903)
Fixed
Fixes 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
Changed
The color name part of the menu identifier item is no longer localized. (Z#2916)
Fixed
Fixes an issue where a signature couldn't be validated if no PSPDFSigner
was configured. (Z#2911)
Fixed
Fixes an issue where a subscription license would stop working once expired. (#5327)
5.1.4 - 28 Jan 2016
Changed
Changed
Improves performance and reliability of full-text search previews. (#5172, #5211)
Changed
Pasting annotations will now set a new UUID on the name
field. (Z#2854)
Changed
The text parser now filters text outside of page bounds.
Changed
Sepia and night mode can now be properly disabled. (#5263)
Changed
Better handling of extremely large images that exceed the device capabilities to decompress. (#5243)
Fixed
Fixes a few rendering edge cases. (#5227)
5.1.3 - 22 Jan 2016
Changed
Various internal optimizations to improve performance and decrease binary file size. (#5157)
Changed
Improves note annotation positioning in certain cases. (#3685)
Changed
Improves memory usage on using external TTC fonts in a PDF. (#5197)
Changed
Searching a document with annotations now works more reliably and correct, especially in regards to special characters like .
. (#5143)
Changed
The ink eraser now sends out change notifications when existing ink annotations are modified (PSPDFAnnotationChangedNotification
). (#5170)
Changed
JavaScript format actions are now triggered when a signature is created on a form signature element. (#5184)
Changed
A long-press no longer calls pdfViewController:didTapOnAnnotation:...
- only a regular tap does. (Z#2844)
Changed
After saving an annotation, the controller now automatically scrolls to the bottom. (#643)
Changed
When using PSPDFPageTransitionScrollContinuous
, the view states that can be obtained from PSPDFViewController
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)
Fixed
Fixes a potential race condition when rendering pages and calling methods from PSPDFProcessor
at the same time while using a data provider. (Z#2768)
Fixed
Fixes an rare issue when invalid points are sent via touchesMoved:
to our draw view. (Z#2780)
Fixed
Fixes an issue where the text alignment was not correctly preserved when serializing to JSON. (#5138)
5.1.2 - 15 Jan 2016
Changed
We 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 the
COPY_PHASE_STRIP
build setting set to
YES
and using a "Copy Files" build phase to copy debug symbols. See step 3) of
Integrating PSPDFKit - Dynamic Framework for updated integration instructions.
Changed
Improved reliability of PSPDFProcessorStripEmptyPagesKey
and eliminated need for PSPDFWhitespaceTrimmerPerformRenderComparison
option.
Fixed
Fixes an issue where the view state restoration page boundary check was insufficient in certain cases. (#5018)
Changed
Various PDF rendering correctness and performance updates. (#5024)
Removed
Remove deprecated method PSPDFSetLicenseKey
for setting the license key. Use +[PSPDFKit setLicenseKey:]
instead.
Changed
Images from stamp annotations are now included in JSON via a base64-encoded PNG. (#5060)
Changed
Improved performance of the PDF renderer and further improves compatibility with non-standard documents. (#5025)
Changed
The PSPDFKit singleton now offers a hook to register your own logging handler - see the logHandler
property.(#5093)
Changed
The ExtraVerbose
logging level is now Verbose
and Verbose
is now Debug
. (#5093)
Changed
The pdfViewController:didEndPageDragging:willDecelerate:withVelocity:targetContentOffset:
delegate now also reports changes to pagedScrollView
in paged mode. (#4924)
Changed
The pdfViewController:shouldScrollToPage:
delegate is no longer called during reloadData
. This was unexpected and could cause issues if NO
was returned in this specific case. (#4923)
Changed
Reduces memory pressure for the disk cache when using the SDK in combination with Appcelerator Titanium. (#5133)
Fixed
Fixes for highlight annotation selecting too much text at the end of a paragraph. (#5053)
Fixed
Fixes an issue when using the PSPDFLibrary
with an empty search string. (#5058)
Fixed
Fixes an issue where importing annotation JSON could restore actions to a different type. (#5060)
Fixed
Fixes an issue where white lines appeared in a document. (#5095, #5026)
Fixed
Fixes an issue when parsing certain documents with embedded forms that contain JavaScript. (#5077)
Fixed
Fixes an issue about returning the wrong UID in the results of the PSPDFLibrary
. (#5082)
Fixed
Fixes an issue where importing annotation JSON could restore actions to a different type. (5060)
Fixed
Fixes an issue with flattening annotations and the text not showing up. (#5109)
Fixed
Fixes an issue where a change notification for an annotation could be sent before it was added to the document. (#5098)
Fixed
Fixes view controller setup and adaptivity issues with the split screen example. (#4766)
Fixed
Fixes 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)
Fixed
Fixes an issue where the color picker might show an incorrect color when first being presented. (#5142)
5.1.1 - 21 Dec 2015
Changed
Various blocks have been declared with @noescape
for even better Swift compatibility. (#4996)
API
Hide properties for visibility of document and page label on PSPDFHUDView
, as they need to be controlled in PSPDFConfiguration
. (#4989)
API
The shouldAutomaticallyAdjustScrollViewInsets
configuration option has been extended with an additional mode and renamed to scrollViewInsetAdjustment
. (#4461)
Changed
Improved rendering quality for small pages (thumbnails). (#4478)
Changed
Improved support for longer messages in PSPDFStatusHUD
. (#4990)
Changed
Works around a compatibility problem with RubyMotion.
Fixed
Fixes an issue where the pageLabelEnabled
configuration could be ignored in some cases. (#4989)
Fixed
Fixes an issue where the image stamp content could disappear after moving or resizing the annotation. (#4984)
Fixed
Fixes a potential crash when extracting file streams from file annotations. (#4978)
Fixed
Fixes an issue where subclasses of PSPDFBookmark
were not used in all cases.
Fixed
Fixes a small issue where scrollToPage:document:animated
in the thumbnail controller advertised document
as nullable but was declared as nonnull.
Fixed
Fixes potential page layout issues in vertical paged mode with fit to width enabled. (#4765)
Fixed
Fixes 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
PSPDFKit 5.1 focusses on improving the drawing experience, easier integration, better iOS 9 adaptivity and features a greatly improved night mode.
Changed
PSPDFKit is now compiled and requires Xcode 7.2.
Changed
We streamlined our manual integration process - take a look at our
new integration guide for details. We also provide a
v5.0
to
v5.1
integration steps
migration guide.
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.
Changed
We now also ship SDK symbols to allow better crash identification. (Only available for license holders, see PSPDFKit.framework.dSYM
).
Changed
We 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)
Changed
Note: 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 use PSPDFDrawingPoint
from now on.
Changed
PSPDFKit 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)
API
Various smaller updates around toggling view controllers in PSPDFAnnotationStateManager
. (#4642)
API
editableAnnotationTypes
has been moved from PSPDFDocument
to PSPDFConfiguration
and is now a simple NSSet
. (#4642)
API
Creating text overlay annotations requires pageRotation
instead of rotationTransform
now. (#4748)
Changed
Bookmarks are now sorted based on page order. This can be controlled via the new bookmarkSortOrder
property in PSPDFConfiguration
. (#4503)
Changed
The annotation toolbar now has a new "Arrow" tool which is a variation of line with a predefined arrow head. (#4479)
Changed
Manually rotating pages is now possible again. See PSCRotatePageExample
. (#4715)
Changed
The document view is now adaptive, even in situations where the keyboard is visible from another app in a multi-tasking environment. (#4714)
Changed
The document view now correctly adapts to keyboard frame size changes, mostly from 3rd-party keyboards. (#4714)
Changed
We 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)
Changed
The undo and redo buttons now get compacted into one button when the annotation toolbar space is limited. (#3994)
Changed
Various classes that should not be subclasses now declare this explicitly to prevent usage mistakes. (#4781)
Changed
Styluses without touch classification, e.g. Adonit styluses, are now using the eraser correctly. (#4658)
Changed
PSPDFCatalog samples have been reorganized and a few new ones have been added. See PSCConfirmDeletionExample
. (#4786)
Changed
The font picker now uses a custom sorting and moves the most commonly used fonts on top. See highlightedFontFamilyDescriptors
. (#1100)
Changed
The stylus selection popover now resizes itself automatically. (#4729)
Changed
Improves popover resizing for the font picker. (#4554)
Changed
Improves error reporting in case email is not configured on the device. (#4555)
Changed
Improves undo registration when using the free text tool. (#4686)
Changed
Improvements to text-selection and text-extraction on rotated documents. (#4748)
Changed
The modal search view controller now automatically focusses the search bar to ensure the keyboard is visible.
Changed
PDF parsing/rendering improvements for older, non-compliant versions. (#4903)
Changed
Form buttons that are neither choice nor radio button styles are no longer highlighted to match Adobe Acrobat behavior. (#4929)
Changed
Improves hit testing for small geometric annotations (Square, Circle) (#4937)
Changed
Reduced memory usage and better low memory handling (#4911)
Changed
Works around a regression in iOS 9 where section backgrounds on table views could be incorrectly styled. (rdar://23904182, #1100)
Changed
The annotation toolbar now correctly avoids the tabbed bar during layout. (#4448)
Fixed
Fixes nullability warnings created by certain stylus drivers. (#4670)
Fixed
Fixes an issue with glyph positioning for documents with a non-null origin. (#4657)
Fixed
Fixes an issue where the link annotation editor would not create a correct link annotation under some situations. (#4750)
Fixed
Fixes an issue where certain unicode (emoji) characters in the PDF could be converted into invalid UTF-8. (#4946)
Fixed
Fixes an issue where the annotation inspector could be presented at a slightly smaller size and than jump to the correct size (#4965).
Fixed
Fixes an issue where certain unicode (e.g. emoji) characters in the PDF could be converted into invalid UTF-8. (#4946)
Fixed
Fixes an issue where copy/pasting free text annotations could lead to an issue with rendering until the copy was modified. (#4973)
Added
Adds 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)
Changed
Improve text extraction for certain documents which produces too many newlines. (#4409)
Changed
Adjusted gallery Vimeo video playback for Vimeo API changes. (#4530)
Changed
Improved performance and accuracy when exporting PDF documents with embed annotations. (#4536)
Changed
Improves document metadata conversion: The creation and modification date are automatically translated to an NSDate object. (#4617)
Changed
Stylus buttons can now be mapped to different and even custom actions. (#4588)
Changed
Hex3 JaJa stylus driver is no longer available. (#4616)
Fixed
Fixes an issue where the appearance stream of digital signatures could have a wrong object number. (#4462)
Fixed
Fixes an issue in iOS 9 where sound annotation views didn't correctly clean up their OpenGL session. (#4602)
Fixed
Fixes an issue with rendering incorrect or empty PDF with contents in Chinese. (#4482)
Fixed
Fixes 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)
Fixed
Fixes an issue where link and highlight annotations were at the wrong location (#4630)
Fixed
Fixes an issue where the PSPDFRenderDrawBlockKey
key in renderOptions
was not always evaluated. (#4601)
5.0.2 - 10 Nov 2015
PSPDFKit is now compiled with Xcode 7.1.1. (7B1005)
API
The propertiesForAnnotations
setting from PSPDFAnnotationStyleViewController
has been moved to PSPDFConfiguration
and it now also affects the free-text accessory view. (#4466)
API
Remove isAESCryptoDataProvider:
helper. Use [dataProvider isKindOfClass:PSPDFAESCryptoDataProvider.class]
instead to check. (Z#2323)
Changed
Improves a condition where an ink annotation has a fill color set which overlapped the foreground color. (#3842)
Changed
The outline
property of PSPDFOutlineParser
is now writable to allow setting a custom outline. (#4467)
Changed
Ensures the HUD is visible when certain HUD actions are invoked. (#4272)
Changed
Works around a UIKit issue that decreases the scroll view precision, which could have lead to incorrectly centered content. (#3864, rdar://23255528)
Changed
JavaScript execution can now be disabled on a document-level via the javaScriptEnabled
property. (#4491)
Changed
Improves 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)
Changed
Various improvements for the upcoming iPad Pro, including an annotation toolbar configuration set that better utilizes the additional space. (#4519)
Changed
Updates our stylus drivers to the latest version. (only available for license holders, #4515, #4516)
Changed
Sharing features that require annotation features are no longer displayed for licenses that don't include annotation features. (Z#2319, #4524)
Fixed
Fixes an issue where line endings were not correctly exported in XFDF if they are set to none. (#3715)
Fixed
Fixes an issue when documents with invalid or missing files are initialized. (#4455)
Fixed
Fixes an issue where a document with > 1000 individual files could use too much memory. (#4455)
Fixed
Fixes an issue where some presented views were missing a close button on iOS 8.2 and earlier. (#4492)
Fixed
Fixes a crash when processing a document with a certain set of JavaScript. (#4483)
Fixed
Fixes an issue where UIKit handled popovers + alert controllers in a way that could cut off the buttons. (#4537)
Fixed
Fixes an issue where the document view was not always correctly reloaded when the PSPDFViewController
was displayed within a popover. (#4538)
Fixed
Fixes a potential assert on iOS 8 when using the text loupe with text glyphs that have a height of zero. (#4458)
Fixed
Fixes an issue where glyph frames could be incorrectly calculated for documents with a non-null origin and rotation. (#4504, #4047)
Fixed
Fixes an issue with fullscreen media playback. (#4429)
Changed
Slightly reduced framework size.
5.0.1 - 28 Oct 2015
Changed
Due 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)
Changed
The content opacity render option (PSPDFRenderContentOpacityKey
) has been removed. This option is no longer supported. (#4337)
Changed
Freehand drawing performance improvements and fixes for devices supporting touch prediction. (#4404)
Changed
In case two page labels are active on a double-paged page, both are now correctly displayed. (#4342)
Changed
Improves behavior when parsing partly corrupt documents. (Z#2199)
Changed
The selection knobs now animate when running iOS 9 to better match system behavior.
Added
Add workaround for a Swift compiler issue when using PSPDFAESCryptoDataProvider
with a string-based data provider. (Z#2223, rdar://23285766)
Fixed
Fixes an issue with editable annotation types on the annotation toolbar. (#4407)
Changed
Improves layout of the thumbnail overview controller.
Changed
Improves text selection and highlight annotation creation.
Changed
Improves font picker search bar appearance. (#4100)
Changed
Various updates to the new render engine.
5.0.0 - 23 Oct 2015
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.
Changed
PSPDFKit now uses its own PDF renderer and no longer uses Apple's Core Graphics renderer, which means better performance, stability and quality. (#3737)
Changed
Undo and redo now remember individual lines drawn instead of the previous behavior where undo removed the whole annotation, once committed. (#2825)
Changed
The tabbed bar has been completely redesigned and now supports animations and reordering, not to mention it being much prettier. (#665)
Changed
View controllers are now presented using
UIPresentationController
and are much easier to handle and dismiss. (#3519)
Changed
Popovers are no longer dismissed on rotation. (#3519)
Changed
iOS 8 adaptivity is fully supported: view controllers swap between being popovers, half modal or full screen depending on context. (#3743)
Changed
The default presentation style has changed for
presentViewController:options:animated:sender:completion:
from
PSPDFViewController
and
PSPDFPresentationActions
. The default is now to use the presented view controller’s
modalPresentationStyle
, similar to the old
PSPDFPresentationStyleForceModal
style, which has been removed.
Changed
To 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
to UIModalPresentationPopover
.
Changed
The 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)
Changed
The 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)
Changed
We’re using UIAlertController
and UISearchController
everywhere, replacing the older deprecated API for further view controller unification. (#3381)
Changed
Automatic 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.
Changed
By default, page thumbnails are now sized adaptively to comfortably fill the available space.
Changed
Instead of
CGPDFDataProvider
we now have a new
PSPDFDataProvider
protocol, which finally allows writing as well. (#3690)
Changed
Safari view controller is used instead of PSPDFWebViewController
on iOS 9.
Changed
PSPDFScrobbleBar
has been renamed to PSPDFScrubberBar
to better express its purpose.
Changed
Querying for the annotation author name has been moved to before the annotation toolbar is displayed. (#3544)
Changed
Annotation creation can now be prevented on select PDF pages by adding a boolean key to the page dictionary (see allowAnnotationCreation
on PSPDFPageInfo
). (#4308)
Changed
PSPDFAnnotationStateManager
now supports multiple delegates and the delegate protocol gained some new methods. (#3607)
Changed
The color menu is now represented visually, and uses the style manager color presets. (#2802, #2890)
Changed
Switching between regular and callout styles for text annotations now produces better results and has been made easier with a redesigned UI. (#3664 and #3859)
Changed
The annotation stream now gets properly reset when an annotation is modified, preventing stale content from being rendered on screen. (#3817)
Changed
PSPDFDocumentActionExecutor
’s presentationController
has been renamed to sourceViewController
to better describe its purpose and avoid confusion with UIPresentationController
.
Changed
The prefersStatusBarHidden
property in the PSPDFStyleable
protocol has been renamed to forcesStatusBarHidden
to be distinct from the closely related UIViewController
method of the same name.
Changed
It is now possible to show color presents on PSPDFAnnotationStyleViewController
, even if color and opacity settings are disabled. Color presets can still be hidden by adjusting typesShowingColorPresets
. (#4108)
Changed
Accessibility and voice over support has been improved on some of our key UI elements. (#3834)
Changed
The author username is now requested earlier and managed via the new PSPDFUsernameHelper
class.
Changed
The border radius of PSPDFSearchHighlightView
is now dynamically calculated based on the current zoom level and can be configured via cornerRadiusProportion
.
Changed
PSPDFImageInfo
is now much more reliable and detects more image formats.
Changed
PSPDFAction
s nextAction
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.
Changed
The hooks for markedContentStack
and shouldParseCharacter:
in the PSPDFTextParser
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
in PSPDFStyleable
has been renamed to forcesStatusBarHidden
to not confuse this with properties that UIKit recently introduced.
Changed
Several annotation classes have new parent types to unify certain features, such as PSPDFAssetAnnotation
and PSPDFAbstractShapeAnnotation
.
Changed
Small UI updates across the board. (For example, dark colors are easier to see in menus.)
Changed
Various lesser-used API has been redesigned or removed for better clarity.
4.4.18 - 28 Oct 2015
4.4.17 - 15 Oct 2015
Fixed
Fixes an issue where the first thumbnail in scrollable thumbnail mode could be skipped under iOS 9. (#4270)
Removed
Removes 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
Fixed
Fixes an issue where some documents couldn't be parsed correctly to write annotations back in. (#4182)
Fixed
Fixes an issue where document content was cut off with the toolbar enabled. (#4152)
Changed
Improves symbol visibility in new dynamic framework. (Z#1966)
4.4.15 - 25 Sep 2015
Fixed
Fixes an issue where the PSPDFDocumentPickerController
wasn't correctly updated when a document was deleted. (Z#1882)
Changed
Prevents an exception from getting thrown while writing ink annotations into XFDF. (Z#1889)
Fixed
Fixes 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!
Changed
When 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)
Fixed
Fixes an issue where resetting choice form elements didn't always reset all properties. (Z#1813)
Fixed
Fixes an issue when applying a PSPDFRenderFiltersKey
on rotated documents. (#3892)
Fixed
Fixes a rare floating point precision issue that could cause pages to show up distorted. (#3882)
Fixed
Fixes an issue where rotation caused ill–positioned pages when switching from single–page to two–page layout. (#3878)
4.4.13 - 28 Aug 2015
Changed
Improves rendering during annotation selection, decreasing the possibility of stale content. (#3488)
Changed
Improves behavior for the go to page dialog when invalid numbers are entered. (#3662)
Changed
Performance improvements for complex bezier path calculation, speeding up ink annotations. (#3778)
Fixed
Fixes a rare exception when the page curl controller is used in unusual view controller configurations. (#3624)
Fixed
Fixes a regression that was affecting performance in continuous scroll mode. (Z#1748)
Fixed
Fixes a potential issue with rendering the color picker. (#3729)
Fixed
Fixes 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
Added
Adds Slovenian translation.
Changed
Improves compatibility exporting file attachment in XFDF with certain less standard compliant readers. (Z#1610)
Fixed
Fixes an issue when exporting XFDF polyline annotations with border style set to cloudy. (#3608)
Fixed
Fixes a regression related to StrikeOut annotations. (Z#1642)
Fixed
Fixes a crash when a file attachment annotation references a missing file which then is exported via XFDF. (#3620)
4.4.11 - 31 Jul 2015
Added
Adds Czech, Greek and Finnish translations and updates various other localization details.
API
The rotationLock
has been removed. Subclass PSPDFViewController
and override the rotation methods and/or implement supportedInterfaceOrientationsForWindow:
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.
Changed
Allow rendering the page to larger sizes when aspect ratio is preserved. (#3528)
Fixed
Fixes an issue where links that also have QuadPoints defined might be offset. (#3331)
Fixed
Fixes an issue related to bundle path resolution on relative linked files. (#3539)
Fixed
Fixes an issue where PSPDFCryptor
would report an error for files with a size that is dividable by 4096. (#3547)
Fixed
Fixes a compatibility issue with the XFDF API version. (Z#1610)
Fixed
Fixes an issue where the annotation toolbar's position couldn't always be set before it was initialized. (#3575)
Fixed
Fixes an issue where the continuous scroll mode could result in a NaN exception under high load in split screen mode. (#3577)
Fixed
Fixes a tiny memory leak when exporting XFDF files.
4.4.10 - 24 Jul 2015
Changed
Improves document parsing for certain documents that are invalid according to the PDF 1.7 specification, yet work with Adobe Acrobat. (Z#1534)
Changed
Improves text placing logic for callout free text annotations. (#3476)
Changed
Improves compression for embedded images in stamps if they don't contain alpha data. (#3494)
Fixed
Fixes an issue where the keyboard would not hide in all cases after dismissing the modal search controller. (#3449)
Fixed
Fixes a race condition that could lead to a deadlock when forms are parsed and JavaScript processed concurrently. (Z#1546)
Fixed
Fixes a rare assertion when the scrobble bar bins pages in landscape. (#3504)
4.4.9 - 17 Jul 2015
Changed
Update OpenSSL to 1.0.2d.
API
Expose PSPDFPageScrollViewController
and PSPDFPagingScrollView
. (Z#1489)
Changed
Feature: Text selection is smarter on selecting words and better filters out commas or quotation marks. (#1954)
Changed
Performance: Greatly improved document parsing speed with a large set of annotations that need named destination resolving. (>10.000) (Z#1339)
Changed
Performance: Improvements for parsing forms on complex documents with more than 1000 pages. (Z#1422)
Changed
Improves parsing accuracy when page arrays contain invalid entries. (Z#1477)
Changed
Improves the UI/inspector flow when inserting free text annotations. (#3335)
Changed
Ensures that the inspector updates in all cases on alpha updates. (#3336)
Changed
Improves the HUD layout logic when changes are happening while the PSPDFViewController
is off-screen. (#3361)
Changed
Improves calculation of the selection border for non-editable note annotations when zoomed in. (#3155)
Fixed
Fixes issues with page centering while zooming. (#3340, #3419)
Fixed
Fixes an issue with XFDF serialization of forms with parent/child relationships. (#3138)
4.4.8 - 6 Jul 2015
Changed
Now 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.
Changed
Various performance improvements when parsing documents with a large amount of complex, nested form elements. (Z#1339)
Changed
Improves the thumbnail transition when multiple transitions are being executed concurrently. (#3248)
Changed
PSPDFModel
can be serialized via NSCoder
again. (Z#1394)
Changed
Ensures that highlight annotations don't have a border by default. (#3277)
Changed
Improves text field formatting to be more consistent with the way Acrobat handles formatting. (#2548)
Changed
Improves the combination of long press & PSPDFLinkActionAlertView
. (#3289)
Changed
Improves PSPDFHUDViewAnimationSlide
under iOS 8. (#2951)
Changed
Improves automatic thumbnail size calculation for certain edge cases in iOS 8. (#3045)
Changed
Decreases memory usage when trying to parse corrupted documents to ensure we are below certain memory limitations. (#3314)
Fixed
Fixes an issue where customizable choice form elements sometimes didn't retain the correct selection. (#2919)
Fixed
Fixes an issue where certain font styles in annotations could be lost when converting documents via PSPDFProcessor
. (#3147)
Fixed
Fixes an issue where invoking the image picker via javascript immediately dismissed the picker. (#3274)
Fixed
Fixes a potential crash when autodetectLinkTypes
is enabled and a phone number that is overlaid with custom annotations is detected. (Z#1402)
Fixed
Fixes a potential crash related to a change in NSDictionary
on iOS 9.0b2.
Fixed
Fixes 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.
Changed
Updates 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 an UIBezierPath
object instead of a CGPathRef
object.
API
showsScrollIndicators
has been split into showsHorizontalScrollIndicator
and showsVerticalScrollIndicator
for a more fine-grained control. (#3191)
Changed
Improve custom font attribute support for outline. (#3111)
Changed
Exporting XFDF now writes the 'f' file tag. (Z#1335)
Changed
Serializing documents via NSKeyedArchiver
now stores relative paths, so that objects can be properly restored even after app updates on iOS 8/9. (#2651)
Fixed
Fixes issues with certain passwords with non-ascii characters and PDF 1.7 files. (#3166)
Changed
If annotation rendering is disabled, we hide these options from the share menu. (print/mail/open in) (#3202)
Changed
Text handling for zoomed in pages is now a lot better, thanks to an unnamed UIKit engineer in the labs. (#2763)
Changed
Ensures that popup annotations don’t get a default border. (#3214)
Changed
Improves search performance and layout related to UI updating when using the popover/modal view. (#3190, #3212)
Changed
Improves animation for gesture-based view controller dismissal and the HUD. (#3109)
Changed
Various performance improvements related to multiple gallery items when zooming/mirroring. (Z#938)
Changed
Improves child view controller usage detection and contentInset
calculation for certain edge cases. (#2998)
Changed
Hiding the annotation toolbar no longer automatically dismisses any visible popover. (Z#1366)
Changed
Resizing annotation as a set (multiselect) now better handles free text annotations. (#1982)
Changed
Improves the logic that positions signatures and better deals with edge cases like incorrect PDF coordinates. (#3113)
Changed
Ensures that upon PSPDFViewController
dismissal, the HUD is always visible. (#3227)
Changed
Works around an UIKit bug that causes the backdrop blur to produce incorrect results under certain conditions. (#3162)
Changed
Works around an UIKit issue related to nested scroll views that could make text view scrolling flaky when zoomed in. (rdar://21180283, #2830)
Fixed
Fixes an issue where cut/copy was enabled for readonly text fields. (#3156)
Fixed
Fixes issues related to printing and popover management. (#3186, #3187)
Fixed
Fixes a few edge cases found with Xcode 7 related to nullability.
Fixed
Fixes a potential null pointer dereference when a document with a corrupt page array is being parsed. (#3235)
Changed
Various updates to improve compatibility with iOS 9.0b1.
4.4.6 - 5 Jun 2015
Changed
Improves performance with re-building the scrobble bar; noticeable when the frame is changed with animation. (#3007)
Added
Adds a workaround for an UIKit issue where viewWillLayoutSubviews
would not always be sent when the PSPDFViewController
is set as the rootViewController
under iOS 8. (#3031)
Changed
Improves the way we position the document label to cover more corner cases. (#3049)
Changed
Improves annotation toolbar placement in certain edge cases. (#3044)
Changed
Improves free text placement when resizing via anchoring to the bottom left. (#2177)
Changed
If 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)
Changed
Improves the flow when changing the free-text annotation results in a different bounding box. (#2246)
Changed
Improves 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)
Changed
Improves half modal view logic to automatically dismiss a visible controller before a new one is presented. (Z#1271)
Fixed
Fixes an encoding issue with certain chinese characters. (#3100)
Changed
Improves the HUD/page placement logic for certain edge cases (#3103, Z#1254)
Fixed
Fixes an issue where UIKit could send tap events in the wrong order, resulting in a timer not being invalidated on font size changes. (#3009)
Fixed
Fixes a rare race condition that could result in pages not being rendered in full resolution when a note annotation is selected programmatically. (#2621)
Fixed
Fixes an issue where widget annotation actions could be parsed incorrectly in multi-document setups. (#2803)
Fixed
Fixes a rare mutation issue when selecting a free text annotations while another one is selected in continuous scrolling mode on an iPhone. (Z#1214)
Added
4.4.5 - 31 May 2015
Changed
Improves annotation border support. Add support for the legacy /Border definition, improves dash array writing and more. (#2953, #2964, #2982, #2987)
Changed
Improves menu positioning for line annotations, reduce likelihood of menu covering the resize knobs. (#2732)
Changed
Improves back animation when the thumbnail filter view is visible while the view controller is popped, working around an issue with UIKit's topLayoutGuide
. (#2948)
Changed
Resizing of free text annotations with saved appearance streams now triggers a re-render. (#2895)
Changed
Better handles situations where the PSPDFViewController
has an empty frame. (#2986)
Changed
Works around an iOS 7 UIKit issue where the contentInset
was not always correctly set in the outline view controller. (#2717)
Changed
Improves error handling around image extraction. (Z#1215)
Changed
Update simple font picker example and ensures the designated initializer for PSPDFFontPickerViewController
is always called. (Z#1201)
Changed
Using 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)
Changed
Workaround for an UIKit issue where UIPrintInteractionController
could call into an released object. (rdar://20963891)
Changed
Files with multiple data sources can now also use the fallback annotation store. (#2804)
Fixed
Fixes a rare crash when using the color picker from the half modal controller. (Z#1220)
Fixed
Fixes an issue where the UIActivityViewController
would not close automatically under iOS 7. (#2999)
Fixed
Fixes an issue where font styles were not always correctly saved when changed via the popover inspector. (#3004)
Fixed
Fixes an issue where certain line endings were not rendered correctly. (Z#1192)
Fixed
Fixes 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.
Changed
Greatly improves view state handling and view port stability, especially when rotating the device. (#2808, #2871, #2873)
Changed
Improves search bar handling for the outline view controller. (Z#1075)
Changed
Improves form tab order parsing and better deals with broken PDFs that have cyclic references. (#2903, #2817)
Added
Adds a workaround for a tabbar gap issue on the half modal controller. (#2883, rdar://21036145 and rdar://21036226)
Changed
Improves color preset handling for highlight ink drawings by saving additional metadata into the PDF. (#2726)
Changed
The HUD no longer hides when page is programmatically changed with pageCurl transition mode. (#2898)
Changed
The 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)
Changed
Improves color preset detection for annotations that are saved/loaded from the PDF directly. (#2915)
Changed
No longer creates highlight annotations with empty rects when using the highlight annotation tool without selecting text. (Z#1178)
Changed
Improves font size calculation in multi-line text fields. (#2921)
Changed
The pdfViewController:didSelectAnnotations:onPageView:
delegate is now called after the annotationSelectionView
has been configured. (Z#1166)
Changed
The Catalog contains new examples how to lock specific annotations (PSCLockedAnnotationsExample.m) and how to add new pages (PSCAddBlankPageExample.m)
Changed
Preserves custom protocol strings when unlocking a document with a password and improves documentation around this case. (#2652)
Fixed
Fixes an issue with granting recording rights for sound annotations. (Z#1190)
Fixed
Fixes a race condition when multiple PSPDFDocument
objects saved to the same external data file. (#2904)
Fixed
Fixes an issue where documents that mix relative and absolute file paths render incomplete on devices. (Z#1177)
Fixed
Fixes an issue where radio button form elements were not always correctly highlighted. (#2833)
Fixed
Fixes an issue with the bottom content inset when the search view controller is displayed modally. (#868)
Fixed
Fixes 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 new cancelOperations:
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.
API
Some refinements on calls in PSPDFAnnotationStateManager
, removing a redundant "From:" from various methods.
Changed
Improve compatibility when the PSPDFViewController
is embedded inside an UITabBarController
with transparent bottom bar. (#2794)
Changed
Make sure using setAnnotations: doesn’t trigger registering undo actions. (Z#1092)
Changed
Ensures the HUD stays visible when pages are changed via HUD controls in page curl mode. (Z#1077)
Changed
Declares fieldName
nullable since some PDFs incorrectly don't declare this name. (Z#1097)
Changed
Improves text view management for free text annotations and forms when zoomed into a page (#2763)
Changed
Improves integration of the print controller. (Z#1102)
Changed
Implements writing of PDF actions of type PSPDFActionTypeGoTo. (#2682)
Added
Adds a workaround for an issue where UIPrintInteractionController could access a deallocated object. (rdar://20963891, #2828)
Changed
Improves status description text when search is finished. (#2826)
Changed
Improves keyboard navigation and handling for forms. (#2818, #2819)
Changed
Further improvements to zoom/scroll behavior for zoomed in text fields. (#2758)
Fixed
Fixes an issue where shouldAutomaticallyAdjustScrollViewInsets
in PSPDFConfiguration
might change to NO for certain configurations. (#2800)
Fixed
Fixes 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)
Fixed
Fixes an issue where annotation background could turn black instead of transparent when the inspector is used. (#2813)
4.4.2 - 7 May 2015
Changed
Improves default placement of annotation toolbar icons for the iPhone 6 Plus. (#1653)
Changed
Ensures all dangling "special" popovers (like UIInteractionViewController
) are dismissed before the PSPDFViewController
is dismissed. (Z#1022)
Changed
Improves status bar handling when the annotation toolbar is visible. (#2745)
Changed
Improves performance in the text parser for certain deep cyclic XObject references. (#2786)
Changed
Reduces memory usage when parsing deep PDF XObject hierarchies. (#2786)
Changed
Improves logic that updates the "Clear" button for form fields. (#2815)
Changed
Various localization updates and corrections.
Fixed
Fixes an issue where a pan gesture recognizer on a split view controller could end up staying disabled. (#2683)
Fixed
Fixes a rounding error on the iPhone 6 Plus that resulted in a non-exact sized HUD overlay. (#2788)
Fixed
Fixes 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)
Fixed
Fixes an regression that resulted in no action when using PSPDFPKCS12SignerViewController
. (#2774)
Fixed
Fixes an issue where "Bundle" path resolution would resolve to the dynamic framework. (#2767)
Fixed
Fixes an issue with the Open In... feature on iPhone under iOS 8 when options are displayed prior. (Z#1022)
Fixed
Fixes 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 the PSPDFKit
shared object.
Changed
Showing the inspector on iPhone now hides optional HUD components for a clearer editing focus.
Changed
Improves scrolling behavior for text field forms when zoom position is larger than the element itself. (#2677)
Fixed
Fixes a regression that would modify the scroll view port imperfectly when using the inspector on iPhone.
Fixed
Fixes an issue with the embedded version information being blank.
4.4.0 - 29 Apr 2015
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
's numberOfSearchPreviewLines
has been renamed to maximumNumberOfSearchPreviewLines
to better indicate what it does - we also improved cell height calculation and layout.
API
Changed
The PSPDFScrobbleBar
now supports vertical modes. (see scrobbleBarType = PSPDFScrobbleBarTypeVerticalRight
) (#2613)
Changed
Introduces UI for line dash styles and enables customization options for these presets. (#2612)
Changed
Color preset support for additional annotation types. (see typesShowingColorPresets
) (#2604)
Changed
Matches the flexible toolbar landscape height to the system bar height on iPhone 6+. (#2629)
Changed
Color picker: Improves color checkmark display for clear colors. (#2628)
Changed
Improves cleanup code for PSPDFDrawView
to make it easier to use as standalone class. (Z#747)
Changed
Ensures no PDF rect box is larger than the media box. (Z#792)
Changed
When using the tabbed view controller, the back/forward stack is cleared when switching documents. (#2615)
Changed
Using hide actions to trigger annotation visibility no longer marks the annotation as dirty. (#2637)
Added
Adds a new addBookmark:
method to add a custom named bookmark object next to addBookmarkForPage:
. (#2577)
Changed
Works around a potential 3rd-party compatibility issue with the AirWatch SDK. (Z#872)
Added
Adds support for transparent line end fills (#2690)
Changed
Improves the activity title for the bookmark action. (#2718)
Changed
Various accessibility improvements around the annotation inspector. (#2668)
Changed
Improves thumbnail <-> page view animation when triggered while the animation is already running. (#2699)
Changed
The page/document label views and the back/forward buttons now have a blurEffectStyle
property to customize this via UIAppearance. (#2707)
Changed
Ensures that, while using the inline search bar, the text field keeps focus when selecting form elements. (#2734)
Changed
Exposes a PSPDFCollectionReusableFilterViewCenterPriority
to make it easier to customize the segmented control filter via AutoLayout. (#2714)
Changed
Undo/Redo is now enabled by default on iPad 2. (Z#957)
Fixed
Fixes an issue where a view controller was not dismissed correctly on iPhone when a UISearchController was displayed on top. (#2729)
Fixed
Fixes a potential race condition in combination with custom annotation providers. (#2708)
Fixed
Fixes an issue where computed form fields could stop working after a save. (#2676)
Fixed
Fixes an issue where sometimes lines could disappear while drawing really fast due to issues with touch handling on iOS. (#2703)
Fixed
Fixes an issue when showing the outline controller via a document activity (#2700)
Fixed
Fixes an issue when pressing undo while editing free text annotations. (#2660)
Fixed
Fixes an issue where after manually invoked saving the undo button state wasn't always correctly updated. (#2644)
Fixed
Fixes an issue when the PSPDFThumbnailBar
was used in a certain configuration without a document set. (#2638)
Fixed
Fixes an issue where lines created programmatically with lineWidth = 1.f
didn't always trigger bounding box calculation. (#2620)
Fixed
Fixes an issue when a JavaScript action is invoked on a field which has an invalid/missing fileName. (Z#970)
Fixed
Fixes a configuration issue where a popover would not be anchored to a bar button item in some cases on iOS 8. (#2611)
Fixed
Fixes a potential crash when flattening documents in low-memory situations. (Z#784)
4.3.5 - 28 Mar 2015
Changed
Update nullability declarations to more classes and changed syntax to be compatible with Xcode 6.3 Beta 4.
Changed
Improves status bar handling in iOS 8 when search is invoked in landscape mode on iPhone. (#2531)
Changed
Link preview popovers are now correctly placed in double-page-mode. (Z#742)
Changed
Hide actions now reset invisible and noview flags to match Adobe Acrobat’s behavior, next to toggling the hide flag. (#2588)
Added
Adds various safeguards for class overriding to detect API usage issues early. (#2553)
Added
Adds a workaround for a memory retainment regression based on rdar://20272376. (Z#722)
Added
Adds a workaround for an issue where rotation sometimes stopped working on iPhone under iOS 7 when using activities. (#2578)
Changed
Improves handling of erasing annotations that are manually set to overlay = YES. (#2582)
Changed
Improves picker placement when a picture is added via iPad on iOS 8. (Z#775)
Fixed
Fixes an issue where under certain conditions using bookmarks would not switch the page on iPhone. (#2589)
Fixed
Fixes an issue when an outline entry doesn't define any action element and then is tapped. (Z#776)
4.3.4 - 23 Mar 2015
Changed
Update to OpenSSL 1.0.2a.
Added
Adds a second invert color mode that creates color correct images. (#2128)
Changed
The document sharing view controller has a new delegate method for custom status reporting. (Z#684)
Changed
When using search and highlighting, we automatically scroll to the page area where the result is highlighted. (#2209)
Changed
Further classes gained nullability declarations.
Changed
Improvements for Russian localization. (#2550)
Changed
Improves rendering for annotations when they are in selected state.
Changed
Improves hit testing for ink annotations when minDiameter
is set. (#2570)
Changed
Works around an issue where custom stamps sometime would not serialize the image because of a NSCoding-related bug in UIKit. (rdar://20256585, #2539)
Fixed
Fixes an issue where setPage:
would jump to an incorrect page in certain rare configuration combinations. (#2547)
Fixed
Fixes a rare crash where UIKit was expecting accessibility categories on a proxy object. (Z#689)
Fixed
Fixes an issue where using additional actions in annotations didn't always execute such action.
Fixed
Fixes an issue where the outline view controller was not in all cases overridable.
Fixed
Fixes 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
Changed
Various performance improvements, especially for cases where multiple PSPDFViewController
instances are on screen at the same time. (#2527)
Changed
Hit testing for line annotations is now purely path-based, which makes working with lines a lot simpler. (#2481)
Changed
The default username alert now disables the save button when there is no text entered.
Fixed
Fixes an issue where editing checkboxes could set other checkboxes from the group disabled in 3rd-party readers. (#2514)
Fixed
Fixes an regression where modal presentation would not always invoke save. (#2523)
4.3.2 - 12 Mar 2015
Changed
Security: allowCopying
on PSPDFDocument
is now readonly.
Changed
Adjusts selection to whole words only if needed. (#2505)
Changed
Dashed lines now correctly render the dash line pattern while they are being selected. (#2480)
Changed
Ensures that annotations saved to an external file are also marked as saved in the isDirty
flag. (#2408)
Fixed
Fixes a regression that could prevent documents from being set if the PSPDFViewControllerDelegate
method isn't implemented.
Fixed
Fixes a race condition on old iOS devices related to image resizing in the cache. This also removes allowImageResize
in PSPDFCache
. (Z#625)
4.3.1 - 10 Mar 2015
Changed
Updated for Xcode 6.2 and iOS 8.2.
Changed
Annotate further class headers for nullability.
Fixed
Fixes an issue that could cause an invalid memory access on certain malformed PDF documents (Z#608)
Fixed
Fixes an issue where custom UIActivity
subclasses couldn't be set in PSPDFConfiguration
. (Z#562)
Fixed
Fixed 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
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.
Changed
We'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.
Changed
With PSPDFBackForwardActionList
there is now a view controller-global back/forward list that allows a more efficient navigation in PDFs. (#744)
Changed
Examples: We added a separate Swift example for Swift 1.2 which is included in Xcode 6.3b2.
Changed
PSPDFGalleryConfiguration
now includes a allowPlayingMultipleInstances
property to control playback of multiple audio/video files at once. (#2386)
Changed
The play button in the gallery PSPDFMediaPlayerCoverView
can now be customized via UIAppearance. (#2411)
Changed
The gallery now uses appearance stream images from Screen/RichMedia annotations if set. (#2400)
Changed
The coverImage
parameter for multimedia elements now resolves URLs with custom blocks. (#2409)
Changed
When a video is presented on an external screen, fullscreen is disabled for the gallery item. (#2390)
Changed
Automatically set background to clear for certain gallery types. #(2381)
Changed
Improves the way the gallery handles looping; disables looping for <= 2 items. (#939, #2319)
Changed
Improvements to PSPDFViewState
to allow a more accurate state restoration (#101).
Changed
Documents with an invalid internal structure that can't be correctly rendered no longer throw an exception. (#2294)
Changed
Custom stamp annotations no longer enforce the all-caps rule. (Z#453)
Changed
While the inline search bar is visible, the HUD visibility can no longer be changed. (#2341)
Changed
File names can now be customized via subclassing PSPDFMailCoordinator
. See PSPDFCatalog for an example. (#2416)
Changed
If Widget is not in editableAnnotationTypes
, don’t make a form editable. (#2431)
Changed
Using the autodetectTextLinkTypes
data detectors is now much faster for most documents.
Changed
Action objects in many cases now offer an improved description. (#2465)
Added
Adds support for right/center-aligned text field form elements. (#2473)
Changed
The PSPDFAnnotationTableViewController
now changes pages via an implicit created PSPDFGoToAction
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)
Changed
Improved the render status indicator to act like a table header, staying visible during zooming. (#2334)
Changed
Improves scrolling in continuous scroll so that a single page doesn't scroll out of the centered area when manually calling setPage:
. (#2295)
Changed
Improves logic where to place the HUD, to make sure it doesn't overlap with the document. (#2353)
Changed
Improves HUD handling for edge cases where the navigation bar doesn't match up with the status bar. (#2455)
Changed
Improves keyboard handling for PSPDFNoteAnnotationViewController
when using delete and for rotation events. (#2365)
Changed
Improves text extraction engine to deal with more cases of unusual XObject placement. (#2254)
Changed
Improves view controller animations when page curl mode is enabled. (#2336)
Changed
Improves the signing process and compatibility with Adobe Acrobat when a document is signed multiple times. (#2055)
Changed
Improves Form JavaScript validation error message handling. (#2442)
Changed
Improves text parsing speed, especially for documents with deep XObject hierarchies. (#2399)
Changed
Works around an UIKit regression in iOS 8 where rotation callbacks could be send twice when embedded in a split view controller. (rdar://problem/19810773)
API
We moved several class methods/initializers that should not be called by users into private headers to simplify the exposed API.
Fixed
Fixes an issue where checkboxes end up not editable after saving. (#2451)
Fixed
Fixes an issue where the PSPDFBookmarkActivity
did not always correctly update the bookmark status. (#2327)
Fixed
Fixes a potential assertion while building the page info cache if pageRange
was modified right after triggering caching. (#2424)
Fixed
Fixes an issue where the scrobble bar sometimes didn't correctly re-bin. (#2425)
Fixed
Fixes an issue where the applicationActivities
setting was ignored. (#2401)
Fixed
Fixes a regression related to printing. (#2404)
Fixed
Fixes a regression where changing points in a line annotation would not properly capture state when performing undo. (#2378)
Fixed
Fixes an issue where pushing PSPDFViewController
onto navigation stack could show the 'X' button instead of the native back one. #(2367)
Fixed
Fixes an issue where the scrollable thumbnail bar would sometimes not re-appear after hiding the HUD. (#2361)
Fixed
Fixes an issue where non-committed annotations don't get resized/moved correctly when frame changes. (#2068)
Fixed
Fixes a regression in iOS 8 that could cause the render-thread to freeze for certain documents. (Z#452, rdar://problem/19865091)
Fixed
Fixes an issue where setting showColorAndIconOptions
late in PSPDFNoteAnnotationViewController
could be ignored under iOS 7.
Fixed
Fixes an issue where a checkbox did not toggle like a radio button when configured that way. (#2227)
Fixed
Fixes an issue where the item toolbar button is not correctly positioned in landscape. (#2322)
Fixed
Fixes a potential nullpointer dereference when using the gallery and multiple PSPDFViewController
instances. (Z#261)
4.2.2 - 11 Feb 2015
Changed
Improves binning behavior in the scrobble bar for large documents.
Fixed
Fixes an issue where the PSPDFViewController
could be leaked when view controller containment was called with an incomplete call order.
Fixed
Fixes a timing-related issue where searching via selected text could leave search results not highlighted initially.
Fixed
Fixes an issue where embedded files were not always correctly previewed.
Fixed
Fixes an issue related to document sharing.
4.2.1 - 10 Feb 2015
Changed
Improves the way we store search text in PSPDFDocumentPickerController
.
Changed
Improves tiling for the continuous scrolling mode.
Changed
Improves writing custom appearance streams for form fields when the value is encoded as UTF-16BE.
Changed
Improves the animation when adding/removing highlight annotations.
Changed
Improves audio session management; the code is now smarter when switching sessions is required to minimize background music stops.
Changed
Improves HUD showing/hiding logic when scrollMode
is set to page curl.
Changed
Improves selection behavior for callout free text annotations.
API
Changes the options settings in PSPDFDocumentInfoCoordinator
to strings to make them simpler to customize.
Fixed
Fixes an issue that could cause some thumbnails to not load in the scrobble bar until the view was rotated under certain rare conditions.
Fixed
Fixes an issue with missing symbols in the OpenSSL-free build.
Fixed
Fixes an issue where some URL actions would not open the inline browser.
Fixed
Fixes an issue where the UIMenuController
would ignore taps when the menu was displayed and then reloadData
called manually.
Changed
Works around an issue where the framework could trigger objc_trap()
in rare occasions. (rdar://problem/19029811)
4.2.0 - 5 Feb 2015
We're proud to release PSPDFKit 4.2, 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.
Changed
Greatly improved handling for free text annotations with a new editing toolbar for both iPhone and iPad.
Changed
The half modal inspector on iPhone is now resizable and automatically adapts to the required content size.
Added
Adds support for SQLCipher to have optionally encrypted search indexes with PSPDFLibrary
.
Changed
The gallery can now deal with web content, replacing the PSPDFWebAnnotationView
.
Changed
The 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 uses WKWebView
by default, increasing browsing performance and scrolling speed.
Changed
The completion block for popover dismissal is now invoked after the popover is completely dismissed when animated is set to YES.
Changed
Security: Password protected documents now automatically disable the disk cache.
Changed
Natural drawings can now be exported/imported via XFDF.
Changed
Various improvements to annotation resizing.
Changed
Text field form elements that are configured as multi-line elements with auto-sized font are now better handled.
Changed
The Edit/Clear All buttons in the PSPDFAnnotationTableViewController
are now hidden if there are no types set in `editableAnnotationTypes.
Changed
Sound annotations are now paused when the page is changed.
Changed
Sound annotations are now rendered into the thumbnail view.
Changed
The animation to toggle between thumbnails and the full page view now smoothly fades content and no longer blocks the UI while animating.
Changed
Performance improvements for documents with complex or deep form annotation trees.
Changed
Improves search preview to deal with content that has many newlines.
Changed
The editor for choice form fields no longer shows the form element title.
Changed
The PSPDFOutlineViewController
now better deals with long page labels and will correctly calculate the height to show them completely.
Added
Adds XFDF serialization/deserialization support for PSPDFEmbeddedGoToAction
.
Changed
Updates the JotTouchSDK driver to 2.6.4 and fixes an issue with flipped touch points.
Changed
Ignore annotation types in the long tap menu that are set in createAnnotationMenuGroups
but are not set in editableAnnotationTypes
.
Changed
Various improvements and enhanced support for JavaScript actions and events.
Changed
Improves "Sign" arrow rendering for very small form elements.
Changed
Improves scrobble bar touch handling for certain cases when in double page mode.
Changed
Various cleanups and modernization for the PSPDFCache
subsystem.
Changed
Rotating while drawing now correctly animates unsaved shapes as well.
Changed
Improved behavior of the "sticky header" thumbnail layout mode and greatly improves performance for large documents.
Changed
Closing a tab in PSPDFTabbedViewController
now autosaves the document. (if the autosave configuration is enabled)
Changed
Exposes a new updateAnnotationSelectionView
subclassing hook in PSPDFPageView to customize the innerEdgeInsets of the annotation selection view.
Changed
Various improvements in how the HUD handles the showing/hiding animation of the UINavigationBar
.
Changed
Images embedded in PDFs now have a slightly higher default JPG compression to reduce file size.
Changed
Selecting stamp annotations now requires less memory and is more performant, especially on high zoom scales.
API
All PSPDFBarButtonItem
classes have been replaced by plain bar buttons. There is a new PSPDFDocumentActionExecutor
and various coordinators (e.g. PSPDFMailCoordinator
) which better replace this functionality + allow you to call such actions without a PSPDFViewController
around. Settings (applicationActivities
, printSharingOptions
, ...) have been moved to PSPDFConfiguration
.
API
Removed 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
and scrobbleBarInsets
.
This supersedes and replaces the more inflexible pageLabelDistance
and documentLabelDistance
.
API
Renamed PSPDFSecurityAuditor
to PSPDFApplicationPolicy
.
API
Moves centerRenderStatusView
from PSPDFPageView
to renderStatusViewPosition
in PSPDFConfiguration
.
API
PSPDFFormSubmissionDelegate
now returns the PSPDFFormSubmissionController
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 either PSPDFConfiguration
or simply edit the layout directly.
API
Exposes various new subclassing hooks.
Changed
Works around an UIKit issue where accessing popoverPresentationController
could lead to a retain cycle. (rdar://problem/19167124)
Changed
Works around an UIKit regression in iOS 8 related to the status bar and presenting UIImagePickerController in a popover. (rdar://problem/19079532)
Changed
Works around an UIKit regression in iOS 8 where preferredInterfaceOrientationForPresentation
was not honored under certain conditions. (rdar://problem/19096083)
Changed
Works around an UIKit regression in iOS 8 where the autocorrect selection didn't properly update when scrolling (rdar://problem/19564341)
Changed
Works 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)
Changed
Works around an UIKit regression in iOS 8 where setting preferredContentSize
doesn't always correctly update the size if navigationBarHidden
changes. (rdar://problem/19175472)
Changed
Works around an UIKit regression in iOS 8 where rotation settings are not always recognized with multiple windows. (rdar://problem/19592583)
Changed
Works around an UIKit issue related to non-integral contentInset that led to gesture recognizer failures on the iPhone 6+.
Fixed
Fixes a potential race condition when creating annotations that could lead to an object over-release in custom annotation providers.
Fixed
Fixes 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.
Fixed
Fixes an issue where search highlights sometimes did not animate correctly in iOS 8.
Fixed
Fixes an issue where the (annotation) menu was not displayed when a popover was visible in iOS 8.
Fixed
Fixes an issue where calling search with a nil string would cause an exception.
Fixed
Fixes an issue related to overriding firstObject
via a category and our detection/repair attempt. This now works when symbols are stripped as well.
Fixed
Fixes an issue where a malformed PDF date string could cause an assertion while parsing.
Fixed
Fixes an issue where shadowOpacity
in PSPDFConfiguration
could be ignored in some cases.
Fixed
Fixes an issue where parsing extended text style attributes didn't work with font names with spaces.
Fixed
Fixes an issue that prevented entering Japanese or using the auto correct feature within the free text annotation text view.
Fixed
Fixes a rare issue that could save sound annotations in a way not compatible with Adobe Acrobat.
Fixed
Fixes an issue where choosing erase mode, then switching pages could result in a different draw color than what was selected.
Fixed
Fixes 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
Changed
Improves performance for documents with a large number of annotations by moving more work to background threads.
Changed
Introduces a new textSelectionMode
and an optional textSelectionShouldSnapToWords
to better customize the text selection behavior.
Changed
Improves various edge cases on type image preview in the annotation view controller.
Changed
Exposes the stylus manager in the PSPDFKit
shared object.
Changed
Hook up all significant places that access network for the new PSPDFNetworkActivityIndicatorManager
.
Changed
Improves drawing view transform handling for certain edge cases.
Changed
Improves zooming performance when annotations are selected.
Changed
Various improvements to the natural drawing path generation and bounding box algorithm.
Changed
Improves the animation when the view controller is popped but the annotation toolbar is still visible.
Changed
Improves tab bar placement in PSPDFTabbedViewController
when the navigation bar has a custom image set via UIAppearance.
Changed
Works around a runtime issue when using weakly referenced objects during dealloc. (rdar://problem/19029811)
Changed
Works around an UIKit issue with presenting an UIAlertController
while a popover is dismissed. (rdar://problem/19045528)
Changed
Works around an UIKit regression where automaticallyAdjustsScrollViewInsets
doesn’t always work on iOS 8. (rdar://problem/19053416)
Changed
Works around an UIKit regression where dismissing a popover with a double-tap could also dismiss the modal parent on iOS 8. (rdar://problem/19067761)
Fixed
Fixes an edge case where the gallery could display wrong content during paging.
Fixed
Fixes an issue with changing choice form elements values on iPhone.
Fixed
Fixes an issue where indexing single-page documents could have reported an invalid status.
Fixed
Fixes an issue where changing the filter on the thumbnails with sticky header enabled would not reset the view port on iOS 8.
Fixed
Fixes an issue where a selected annotation could end up slightly blurry when zoomed in due to an incorrectly set contentScale.
Fixed
Fixes an issue where annotations loaded from XFDF could trigger an assertion.
4.1.1 - 11 Nov 2014
API
API
Various smaller updates and refinements, including a new network activity manager.
Changed
Improves ink signature handling and saving, especially when natural drawing is enabled or pages are rotated.
Changed
Improves bundle image loading code to better deal with situations where the bundle is in unusual places; improves compatibility with Extensions.
Changed
The loop
setting in the gallery is now also propagated if the gallery is already loaded.
Changed
Annotations and Form Elements can now be found and read using UIAccessibility.
Changed
Better detection for invalid 3rd-party code that overrides Apple methods with different behavior.
Changed
Improves aspect ratio correct resizing when an additional margin for annotations is configured.
Changed
Slightly updates the note icons to better match with the rest of the annotation icon set.
Changed
Signatures in the keychain store now are strongly validated and empty signatures are thrown away on load.
Changed
Works 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)
Changed
Works around an UIKit bug where an action sheet would not show up in iOS 8, instead showing constraint errors. (rdar://problem/18921595)
Changed
Works around a problem where the Swift compiler can't parse headers with strongly retained dispatch objects. (radar pending)
Fixed
Fixes an issue where Open In... could take very long or completely get stuck when form elements were saved.
Fixed
Fixes an assertion (UID
nil) when the last tab in the tabbed controller was removed.
Fixed
Fixes a potential crash when using accessibility to read the contents of the PDF.
4.1.0 - 5 Nov 2014
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.
Changed
Natural Drawing! You'll love this new default. Your drawings will look much more realistic, and are still fully backwards compatible to 3rd-party apps.
Changed
Various optimizations and improvements for iOS 8.1
API
PSPDFSpeechSynthesizer
has been renamed to PSPDFSpeechController
.
API
PSPDFActivityBarButtonItem
now forwards the iOS 8-style completionHandler.
API
wantsSelectionBorder
is now an instance method to customize this per object.
API
The PSPDFPresentationStylePopover
has been removed in favor of the iOS 8 variant UIModalPresentationPopover
.
API
The interface around PSPDFStream
and PSPDFStampAnnotation
has been modernized.
API
The PSPDFSignatureStore
is now a protocol with a default implementation that can be changed via configuring PSPDFConfiguration
.
API
Various annotation classes have gained a convenience initializer.
API
The gallery is now configurable via PSPDFGalleryConfiguration
in PSPDFConfiguration
.
API
Various annotation enum values now have appropriate transformer objects for better JSON export.
(PSPDFBorderStyleTransformerName
, PSPDFBorderEffectTransformerName
, PSPDFFreeTextAnnotationIntentTransformerName
)
API
Many singletons have been moved to the global PSPDFKit
object and various smaller class refinements.
Changed
Writing documents now uses NSFileCoordinator
for better compatibility with iCloud Drive and Extensions.
Changed
If the size class on iOS 8 is UIUserInterfaceSizeClassCompact
, the status bar will now be hidden.
Changed
The inline search manager now automatically focuses the first search result.
Changed
The inline search manager now shows the current search status with a slight delay to be more visually pleasing.
Changed
Absolute paths, while discouraged, are now properly detected in the gallery on iOS 8.
Changed
The gallery now automatically resolves URL endpoints that have no pre-set type. (video/image/etc)
Changed
Makes sure the PSPDFViewController
always correctly reloads, even when the document is changed while the controller is off-screen.
Changed
Various stylus drivers have been updated to be compatible with their API changes.
Changed
Search previews generated via PSPDFLibrary
now also support text containing diacritics.
Added
Adds support for bended arrows created in Yosemite's Preview.app.
Changed
Public C functions are now wrapped so they don't get name mangled if ObjC++ is used.
Changed
The annotation user name is now requested as soon as a annotation style mode is entered, not when the annotation is committed.
Changed
The interactive pop gesture is now disabled when the HUD is hidden to not accidentally invoke it during scrolling.
Changed
Improves robustness when PSPDFLibrary
is called from multiple threads.
Changed
Improves reliability of sound annotations, especially on iOS 8 and 64 bit.
Changed
Improves code paths around setting a default line width when a border is set.
Changed
Improves compatibility with a certain set of annotations with appearance streams that uses custom transforms.
Changed
Improves reported frame when calling the shouldShowMenuItems: delegate in annotation sub-menus. (e.g. Highlight->Color)
Changed
Improves menu placement for annotations that can't be resized or moved.
Changed
Improves gallery error handling while the manifest is loaded.
Changed
Various improvements and better error detection/logging for the digital signing process.
Changed
Reduces memory pressure for older devices such as the iPad 2, the iPhone 4S and older iPod Touch devices.
Changed
The creationDate
is now set for new user-created annotations and lastModified
is updated on every change.
Changed
The 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.
Changed
When 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.
Changed
Ensures all popover dismissal code paths go through the workaround for rdar://problem/18500786 on iOS 8.
Changed
Complex ink annotations are now processed much faster.
Changed
The move button no longer overlaps the signature display in the PSPDFSignatureSelectorViewController
.
Changed
Ensures the signature creation buttons in PSPDFSignatureViewController
are pixel-aligned.
Changed
Various improvements to digital signature handling. PSPDFPKCS12Signer
now exposes signFormElement
for non-interactive signing.
Changed
Various functional and performance improvements when parsing forms with JavaScript.
Changed
PSPDFKit now uses various iOS 8 QoS classes where appropriate to better deal with important/background related tasks.
Changed
Updates OpenSSL to 1.0.1j and SQLite to 3.8.7.1 (optional)
Changed
Works around a potential deadlock in the Apple PDF renderer when called during the application did load event. (rdar://problem/18778790)
Changed
Works around an issue where UIDocumentInteractionController
sometimes would print extremely long log statements (rdar://problem/18568591)
Fixed
Fixes an issue with certain missing headers in the OpenSSL-free build.
Fixed
Fixes an issue where drawings created during one operation in multiple pages could be collected to a single page on commit.
Fixed
Fixes a small UI issue where on iOS 8 the current page of the color inspector could be wrong.
Fixed
Fixes a set of crashes that could happen on more complex views when they were laid out with a CGRectNull
.
Fixed
Fixes an issue when the activeFilter of the
PSPDFThumbnailViewController` is set manually.
Fixed
Fixes a potential deadlock when PSPDFPerformBlockWithoutUndo
was used manually in a large-scale way.
Fixed
Fixes an issue related to the pageRange
feature and HUD scrollable thumbnail updating.
Fixed
Fixes a potential stack overflow if extremely complex PDF forms were saved using NSCoder
.
Fixed
Fixes an issue where tapping the annotation button quickly could result in an incorrect selection.
Changed
Many of the more obscure bugs and crashes have been squashed.
Changed
Various localization updates and improvements. PSPDFKit now uses the
stringsdict file format to define language plural rules.
4.0.3 - 3 Oct 2014
Added
Add API on PSPDFViewController
to check if a search is running isSearchActive
and to cancel a running search cancelSearchAnimated:
.
Changed
Improves various animation effects under iOS 8.
Changed
Updates the optional SQLite library to 3.8.6.
Changed
Reduced the default speak rate in PSPDFSpeechSynthesizer
from fast to normal.
Changed
Enables many new warnings to improve code quality and keeps our headers warning free in -Weverything environments.
Added
Adds support for loading the PSPDFKit.bundle from unusual locations which improves compatibility with dynamic frameworks.
Changed
Improves annotation moving/resizing logic to be more pixel accurate.
Changed
The PSPDFInlineSearchManager
instance is now exposed inside the PSPDFViewController
, when used.
Changed
The PSPDFViewController
now shows page labels if set for search results cells.
Changed
The play button in the gallery component will no longer zoom in but always stay at the optimal size.
Changed
PSPDFKit now emits a log warning if UIViewControllerBasedStatusBarAppearance
is set to NO.
Changed
PSPDFKit 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 to PSPDFEraseOverlay
to allow property customization via UIAppearance
.
Changed
The navigation bar will no longer be modified if PSPDFKit is embedded via child view controller containment and useParentNavigationBar
is set to NO.
Changed
Free text annotations are now always rendered aspect ratio correct.
Changed
Various improvements to the undo/redo feature.
Changed
Trying to show the print or open in sheet now no longer throws a popover exception if the PSPDFViewController
is not visible.
Changed
Works around a regression in iOS 8.1b1 related to UIAppearance with (rdar://problem/18501844)
Changed
Works around a regression in iOS 8 where dismissing a popover controller could result in accessing a deallocated object on iOS 8. (rdar://problem/18500786)
Changed
Works around a regression in iOS 8 where dismissing a popover could dismiss the parent modal controller. (rdar://problem/18512973)
Changed
Works around an issue where UIKit throws an unexpected exception when accessing the image in the general pasteboard. (rdar://problem/18537933)
Changed
Works around an issue where UIKit forwards _UIPhysicalButton
objects when we expect UITouch
objects. (rdar://problem/18537814)
Fixed
Fixes an issue with a non-standard-conforming PDF not defining "Subtype" in the font dictionary.
Fixed
Fixes an issue where the PSPDFPopoverController
could be presented rotated on landscape under iOS 8.
Fixed
Fixes an issue that would indicate "No page text" on the whole document after a search if the last document page contained no text.
Fixed
Fixes 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
Changed
Changed
Improves video scrubbing behavior and the animation when the gallery is displayed in fullscreen.
Changed
FreeText Callout annotations now support dashed borders and better deal with different border/text colors.
Changed
Various smaller improvements related to the HUD visibility and thumbnail grid on the iPhone 6 Plus.
Changed
License is now validated later to allow setting the PSPDFViewController
via Storyboards.
Changed
Improvements to the search animation in PSPDFOutlineViewController
.
Changed
Digital Signatures now support up to 10k of payload data.
Changed
Works around an issue with extremely large image tiling on 64-bit devices.
API
Rename searchStyle
to searchMode
to keep it consistent with the enum name.
API
searchForString:options:animated:
in PSPDFViewController
now has an additional sender
parameter to control popover placement.
Fixed
Fixes an issue where fitToWidth
didn't work as expected.
Fixed
Fixes an issue where the software brightness dimming would not fill the whole screen on iOS 8 in landscape.
Fixed
Fixes an issue where the stylus selection controller would hide other stylus options after one stylus has been chosen.
Fixed
Fixes a small issue with calculating the content scroll view offset.
Fixed
Fixes an issue where reordering apps in the “Open In” menu did not work. (iOS 8 only)
Fixed
Fixes 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.
Fixed
Fixes an array overflow issue when a certain (corrupt) PDF was parsed.
4.0.1 - 23 Sep 2014
Changed
Various improvements to the PSPDFCatalog examples.
Changed
The PSPDFSearchViewController
now always remembers the last used search string.
Fixed
Fixes a minor rendering artifact on the iPhone 6 Plus.
Fixed
Fixes an issue in the gallery image tiler that is specific to the iPhone 6.
Fixed
Fixes an issue with detecting gallery URLs that are scaled (@2x, @3x)
Fixed
Fixes an issue with link annotation options that contain an URL parsed from an XFDF.
4.0.0 - 22 Sep 2014
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:
Changed
PSPDFKit 4 is now fully compatible with iOS 8 and requires Xcode 6 with SDK 8.
Changed
Resources 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.
Changed
The 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).
Changed
All headers have been updated to use Modules for faster compile times.
Changed
Several properties that were no longer in line with iOS 7 have been removed: tintColor
, shouldTintPopovers
and minLeft/RightToolbarWidth
. Use UIAppearance
to customize colors and tint throughout PSPDFKit instead.
Added
Adds a new shouldHideStatusBar
property to globally control the status bar setting from the PSPDFViewController
.
Changed
We no longer support the legacy UIViewControllerBasedStatusBarAppearance
setting. Use view controller based status bar appearance.
Changed
The PSPDFViewController
is now configured via an immutable PSPDFConfiguration
object. See the migration guide for details.
Changed
Clear the web view state between PSPDFWebAnnotationView
reuse.
Changed
Many classes, including PSPDFTabBarButton
and PSPDFScrobbleBar
have been enabled for UIAppearance
.
Changed
Greatly improved and faster JavaScript Form support, using JavaScriptCore
instead of UIWebView
.
Changed
The embedded PSPDFWebViewController
now uses the faster WKWebView
when available on iOS 8.
Changed
Various 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.
Changed
The thumbnail bar and the thumbnail controller now support a new layout that will group pages together for double-page layouts. (see thumbnailGrouping
)
Changed
Many improvements to the multimedia gallery (PSPDFGallery
), including better fullscreen-support and error handling.
Changed
PSPDFAESDecryptor
now checks the HMAC for additional security.
Changed
The PSPDFAESCryptoDataProvider
now returns an autoreleased object when accessing dataProvider
.
Changed
Open/Close page triggers are now supported (see PSPDFPageInfo
).
Changed
The new PSPDFMessageBarButtonItem
allows sharing content via iMessage/SMS.
Changed
Various UI widgets now better deal with keyboards that change the frame after being displayed (especially relevant for iOS 8)
Changed
Annotation action URL parsing is now smarter and will trim the string and replaces inline spaces with %20, instead of just filtering them all.
Added
Adds various view optimizations that lead to faster page display and less internal reloads.
Changed
Color/Text attributes for outlines are now supported and parsed in PSPDFOutline
and properly displayed in PSPDFOutlineViewController
.
Changed
Form text is now always auto-sized to match Adobe Acrobat's behavior.
Changed
Thew new, faster UIVisualEffectsView
is used for blur whenever available on iOS 8.
Changed
OpenSSL has been updated to OpenSSL 1.0.1i.
API
Various keys for PSPDFObjects*
have been renamed and are now better organized.
API
Pushing view controllers via presentModalOrInPopover:embeddedInNavigationController:withCloseButton:animated:sender:options:
has been improved and renamed. The new method is called presentViewController:options:animated:sender:completion:
.
API
PSPDFImageInfo
is now immutable and works correctly when the PSPDFDocument
contains multiple PSPDFDocumentProvider
objects.
API
PSPDFAction
now resolves named destinations and page labels via localizedDescriptionWithDocumentProvider:
.
API
PSPDFLabelParser
interface has been simplified and this object can now be created with a predefined set of labels.
Fixed
Fixes an issue where the modal search controller could place itself above the status bar on iPhone.
Indexed Full-Text-Search:
Annotations and Digital Signatures:
Changed
Annotation hit testing now works on paths directly, which allows better selection in cases where multiple annotations are overlaid.
Changed
The 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.
Changed
The 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.
Changed
The old PSPDFAnnotationToolbar
has been fully replaced by the PSPDFFlexibleAnnotationToolbar
introduced in 3.6, and thus renamed back to PSPDFAnnotationToolbar
.
Changed
Cloud annotation borders are now fully supported.
Changed
Callout FreeText annotations can be parsed and edited.
Changed
Rich Media and Screen annotations are now lazily evaluated, improving general parsing speed.
Added
Add support for various Rich Media Activation Context settings. (autostart)
Changed
PSPDFURLConnection
has been replaced in favor of vanilla NSURLSession
objects, which the additional benefit that remote content supporting SPDY will now load faster on iOS 8.
Changed
When fetching annotations via the document object finder, we now optionally support annotation grouping via the PSPDFObjectsAnnotationIncludedGroupedKey
key.
Changed
Improved the signing architecture to allow signing using PKI hardware and remove signatures.
Changed
Annotation selection handling has been greatly improved and now uses a customizable margin for easier handling.
Changed
Annotations now have a common fontAttributes
property that allows any key/value pair that NSAttributedString
understands - so free text and forms can be customized even further. (Note: Not all values can be exported)
Changed
Free Text annotation handling now understands more PDF-based properties and will render more accurate.
Changed
Many improvements to stylus management and driver handling, especially for FiftyThree's Pencil.
Changed
PSPDFKit's model objects now mostly comply to NSSecureCoding
.
Changed
The inspector has been modernized and offers a better display for poly/line and free text annotations.
Changed
Appearance stream parsing support has been improved.
Changed
The password view has been completely redesigned to fit into iOS 7 and 8.
Changed
The PSPDFSignatureViewController
has been completely redesigned and now supports color selection during signing.
Changed
PSPDFViewController
now fully respects isAutosaveEnabled
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 new UIFontDescriptor
introduced in iOS 7.
Changed
Various code is now faster thanks to the toll-free-bridging of UIFont
and CTFontRef
.
Changed
Support for the old, legacy PSPDFKit 2 annotation save format has been removed.
Changed
Image annotations now have better support for EXIF rotations when clipped via the internal editor.
Fixed
Fixes an issue where the inspector could re-use the wrong cells and mixing up sliders or other control items.
Fixed
Fixes an issue that would sometimes not allow to draw at the very borders of the screen on iPhone.
Fixed
Fixes an issue where the annotation menu would not show up after scrolling the page.
Fixed
Fixes an issue with very large animated gifs.
Changed
Includes all bug fixes and improvements made in the PSPDFKit 3.7.x branch.
Fixed
Fixes an issue related to search highlighting and annotation moving. The highlights are now cleared before objects can be moved.
Fixed
Fixes an issue where the popover wasn't correctly moved when a new PSPDFNoteAnnotation
is created via the PSPDFNoteAnnotationViewController
.
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+.
3.7.13 - 11 Sep 2014
Changed
Works around a rare PDF rendering crash in iOS 8.
Changed
Using fillColor
on PSPDFButtonFormElement
now respects the alpha
property.
Fixed
Fixes an issue in the text extraction logic when converting the contents of glyphs from unknown/not loadable fonts.
Fixed
Fixes an issue where entering erase mode could hide the annotation toolbar.
Fixed
Fixes an issue where the progress HUD would sometimes not correctly reposition when the keyboard appears in landscape.
Fixed
Fixes an issue where the note annotation popover could become visible when deleting multiple annotations (including a note) at the same time.
Fixed
Fixes an issue where the signature view controller failed to display on iPhone/iOS 8.
3.7.12 - 1 Sep 2014
Changed
The predefined stamps now use the system locale instead of en_US
.
Fixed
Fixes an issue where the scrollable thumbnail bar could get into a state where it is not correctly displayed.
Fixed
Fixes an issue with creating custom stamp annotations on iPad.
Fixed
Fixes an issue with writing annotations into files that have unusual and non-standard compliant object headers.
Fixed
Fixes a caching issue with extremely long file names.
3.7.11 - 20 Aug 2014
Changed
Improves user name guessing for the annotation creation user.
Fixed
Fixes an issue where saving notes multiple times within the same session could cause a duplication.
Fixed
Fixes an issue with handling umlauts during a save in certain text field form elements.
Fixed
Fixes a minor logging issue where in rare cases NSScanner
could complain about nil string arguments.
3.7.10 - 17 Aug 2014
Changed
Rendering the audio annotation preview no longer pauses background music.
Changed
Makes sure the signature image in the signature view controller is the same regardless of the device orientation.
Fixed
Fixes an issue with rendering right-aligned free text annotations in too small bounding boxes.
Fixed
Fixes a few minor issues when exporting/importing from/to XFDF for stamp and ink annotations.
Fixed
Fixes an issue where alert view actions could be executed twice under iOS 8.
3.7.9 - 6 Aug 2014
Fixed
Fixes handling of nested form check boxes that are used as radio boxes.
Fixed
Fixes an issue that could truncate text from a choice form element.
Fixed
Fixes a rare UI issue with duplicated ink elements during erasing.
Fixed
Fixes an issue where in landscape the keyboard could appear unexpectedly when using radio button form elements.
Fixed
Fixes an issue where the page indicator in the scrobble bar sometimes was not correctly updated.
Fixed
Fixes an issue on iOS 6 when showing the signature selector view controller.
3.7.8 - 1 Aug 2014
Changed
Popup annotations, when written, now by default have the same bounding box as the parent annotation.
Changed
Improves handling of link annotations with an empty URL.
Changed
Continuous scroll mode now chooses the current pages based on the largest visible page, not the first visible page.
Changed
Path resolving now also resolves "Caches" instead of just "Cache".
Changed
Improves protection against manually calling commonInitWithDocument:
.
Changed
Improves placement of free text annotations that are close to the right page border.
API
The interface for the PSPDFXFDFAnnotationProvider
changed to reflect the possibility of stream recreation.
Instead of setting the inputStream
and outputStream
directly, use createInputStreamBlock
and createOutputStreamBlock
.
Fixed
Fixes a UI issue where the separators for the signature chooser could end up not visible on iOS 7.
Fixed
Fixes an issue where cropping images could end up in black bars on parts of the image.
Fixed
Fixes an issue where the text selection knobs could be slightly offset after a device rotation.
Fixed
Fixes an issue with the fullscreen gallery transition on an iPhone.
Fixed
Fixes a rare condition where a selected annotation would not hide the un-selected one, leaving two copies on the screen until the page changed.
Fixed
Fixes a race condition that could result in rendering issues for form objects with auto-resizing text.
Fixed
Fixes an issue where PSPDFKit would print a warning for KVO'ing weak properties that was not actually declared as weak.
Fixed
Fixes an issue where the scrobble bar would not properly update itself after a rotation change.
3.7.7 - 21 Jul 2014
Changed
Videos in the gallery are now reset if they are played till the end and the page changes.
Changed
The 'hidden' flag for annotation objects is now also honored for the gallery. (including audio)
Fixed
Fixes an issue when the device is being rotated while in erase mode.
Fixed
Fixes an issue where the pen tool can't draw up to the edge for certain configurations on an iPhone.
Fixed
Fixes an issue where quickly destroying/recreating libraries for indexed search could result in partial indexes.
Fixed
Fixes 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.
Fixed
Fixes an issue related to rotation when the gallery is moved to fullscreen from within a popover.
Fixed
Fixes an issue where missing fields in the digital signature validation code could result in a (null) output.
Fixed
Fixes an issue related to multiple saving via the same XFDF annotation provider.
Fixed
Fixes an issue related to early-reloading of the thumbnail bar that could result in missing bar button items for special configurations.
Fixed
Fixes 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
Changed
Simplifies usage of PSPDFMediaPlayerCoverModeClear
in the gallery.
Changed
Updates the Vimeo integration to use the new API endpoint.
Changed
Improves efficiency and memory usage for parsing large outlines with invalid named destination tables.
Changed
When using the text selection tool, we want to make sure no annotation is selected anymore.
Changed
The state of the PSPDFWebAnnotationView
is now cleared upon reuse to prevent flashes of previous used content.
Fixed
Fixes an issue related to the scrobble bar and PSPDFThumbnailBarModeScrollable
on iOS 6.
Fixed
Fixes a potential issue where the HUD layout code could loop.
Fixed
Fixes a potential crash related to the Wacom stylus driver.
3.7.5 - 16 Jun 2014
Added
New Localizations: Indonesian, Malaysian, Polish, Chinese Traditional, Thai, Turkish and Ukrainian.
Changed
Updates the WACOM stylus driver to no longer eagerly initialize, which could present a bluetooth disabled alert view.
Changed
Annotations added to a PSPDFDocument
programmatically now always get the isDirty
flag set to ensure that they are being saved.
Changed
PSPDFResizableView
now correctly deals with UIAppearance
and makes it easier to customize individual knobs. See PSCCustomSelectionKnobsExample
for details.
Added
Adds resilience / asserts form missing views in unusual (child view controller) configurations for the annotation toolbar.
Changed
Improved JavaScript-calculation-support, adds AFMakeNumber
to the list of supported JS functions and improves hide action annotation resolving.
Changed
Improves compatibility to parse image stamps from 3rd-party software.
Changed
Outlines where the page reference is missing are now displayed to be consistent with Adobe Acrobat.
Changed
PSPDFLibrary
learned exact sentence matching via the PSPDFLibraryMatchExactPhrasesOnlyKey
option.
Changed
Improves support for named hide actions that are bound to form elements.
Changed
Allow to hook into PSPDFMenuItem
action for analytics.
Changed
Scrolling 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.
Changed
The annotation toolbar will now be hidden automatically if the last tab on the tabbed view controller is closed.
Changed
The 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.
Changed
The tables in PSPDFLibrary
is now lazily created on first use, improving speed and delaying the unicode61 tokenizer check until the library is actually used.
API
Removes the thumbnailSize
property on PSPDFCache
. This should be set in the PSPDFViewController
instead.
API
Hide thumbnailCellClass
in PSPDFThumbnailBar
. Use the standard class override mechanism instead.
API
Removes the skipMenuForNoteAnnotationsOnIPad
property on PSPDFViewController
. Use the new shouldInvokeAutomatically
on PSPDFMenuItem
instead. (See PSCOpenNoteOnPhoneWithSingleTapExample
)
Fixed
Fixes an issue related to copying sound annotations.
Fixed
Fixes an issue where UIImagePickerController
would sometimes not cancel correctly on iOS 7.0.
Fixed
Fixes an crash related to accessibility support and page reading.
Fixed
Fixes an issue where a picked image was added after pressing “Cancel” on the size popover.
Fixed
Fixes an issue where the thumbnail bar wouldn’t update correctly the first time it is displayed when it was hidden initially.
Fixed
Fixes an issue related to annotation fetching when the pageRange
feature is enabled.
Fixed
Fixes a potential issue related to cancelling index requests in PSPDFLibrary
.
Fixed
Fixes a potential issue in the vector separation code of the ink eraser.
Fixed
Fixes 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].
Changed
Clip drawings to bounds. Improves experience when drawing in double page mode.
Changed
The metadata
dictionary of PSPDFDocument
now also contains PDF Portfolio data, if detected.
Added
Add new option to the PSPDFAnnotationTableViewController
to show/hide the clear all button. showDeleteAllOption
.
Changed
Allow initialization of sound annotations from custom URL.
Changed
Don’t allow to copy the contents of text markup annotations if the document disallows copying.
Changed
Document parser: Add support for direct AcroForm dictionaries.
Changed
Improves compatibility with certain rich text formats for free text annotations in 3rd-party XFDF files.
Changed
Extremely complex ink annotations will now render much faster with only minimal reduced quality.
Changed
We no longer manually draw a border if the free text annotation is backed by an AP stream.
Added
Adds support for the mailDoc
and launchURL
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.
API
The PSPDFPageRenderer
can now be replaced at runtime, there's a new setSharedPageRenderer:
instead of the class setter.
Changed
Various localization improvements.
Fixed
Fixes an issue where certain JavaScript calculations could end up as NaN's.
Fixed
Fixes an issue where the “Reset Form” feature would sometimes not clear all form elements.
Fixed
Fixes an issue where the pageRange
property could be calculated incorrectly for password protected files.
Fixed
Fixes an issue where adding/removing the same overlay annotations within the same runloop could lead to an incorrect view representation.
Fixed
Fixes an issue where the bookmark indicator was not always correctly displayed when pages are filtered using the pageRange feature.
Fixed
Fixes 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
Changed
The search preview text is now stripped of control characters like carriage return or newlines, which improves preview for various documents.
Changed
Improves error handling for inline PDF videos that can't be played. (most likely because they are in .flv flash video format)
Changed
The 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
: Adds dateStampsEnabled
property to control if date stamps are added or not.
Changed
Improves handling around flexible toolbar dragging and the half modal sheet on the iPhone.
Changed
Improves compatibility when the 'Spark Inspector' framework is linked with PSPDFKit.
Added
Add selectedOptions
to PSPDFDocumentSharingViewController
to allow easier changing of the defaults.
Changed
Changes the selected default for the print sheet to print with annotations
if this is allowed.
Added
Add new option to PSPDFAnnotationStateManager
to allow setting the allowed image qualities allowedImageQualities
for image annotations. Fixes #989.
API
Make PSPDFOutlineElement
immutable. Use the initializer to create.
Changed
Various localization improvements.
Fixed
Fixes a potential issue with manually creating PSPDFLineAnnotation
objects without properly initializing the points array.
Fixed
Fixes a potential formatting issue when writing sound annotations into the PDF.
3.7.2 - 6 May 2014
Added
Add support for actions that are invoked on entering/exiting annotation focus.
Added
Add support for GoToE embedded actions. This allows linking to PDFs that are saved inside the PDF.
Added
Add 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 the metadata
property.
Changed
Note annotations will now always get the correct style applied. (which includes alpha, if set)
Changed
The method updatePage:animated:
now also discards any current selection to make sure everything is updated.
Changed
PSPDFWebViewController
: add new property shouldUpdateTitleFromWebContent
to control if the title should be updated dynamically.
Changed
Improved security handling based on Veracode static analyzer feedback.
Changed
An 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.
Changed
Various improvements to Form-JavaScript validation, actions and handling.
Changed
Various smaller improvements to the flexible annotation toolbar related to tintColor
handling.
Changed
A new render option named PSPDFRenderDrawBlockKey
now provides a global drawing handler above the page renderer.
Changed
Improves performance of the internal download manager with moving some Apple-API that is potentially slow to a background thread.
Changed
The allowBackgroundSaving
property of the PSPDFViewController
now defaults to YES. Make sure you can deal with async saving or revert this to NO.
Changed
Single-page documents no longer allow bouncing, unless alwaysBouncePages
is enabled.
API
The watermark drawing block has been changed and now includes more types. See PSPDFRenderDrawBlock
for the new type.
API
The X-Callback-URL registration is now handled by the PSPDFKit global configuration object.
API
Removes the mailComposeViewControllerCustomizationBlock
. Use the pdfViewController:shouldShowController:embeddedInController:options:
delegate.
API
executePDFAction:inTargetRect:forPage:actionContainer now has an additional animated: property.
API
Some logic from PSPDFSoundAnnotation
has been extracted into PSPDFSoundAnnotationController
.
Fixed
Fixes a regression when adding images via the annotation toolbar on an iPad.
Fixed
Fixes a regression that could reduce ink annotation width to 1.
Fixed
Fixes an issue where PSPDFStatusHUD would not always correctly update when a new title was set while it was already visible.
Fixed
Fixes an issue where sound annotation data was sometimes not correctly loaded and wasn't properly exported as JSON.
Fixed
Fixes a very rare potential for a deadlock when the JavaScript runtime is being initialized from a background thread.
3.7.1 - 25 Apr 2014
Added
Adds Dutch translation.
Changed
The PSPDFGallery
now supports parsing and embedding Vimeo URLs, next to YouTube.
Changed
Improvements for the flexible annotation toolbar on the iPhone.
Changed
Calling undo/redo will now scroll to the page where the annotation is being changed.
Changed
Small visual tweaks for the ink preview icon in the flexible annotation toolbar.
Changed
Allow to subclass PSPDFFreeTextAccessoryView
, PSPDFFormInputAccessoryView
and expose the bar button items.
Changed
Additional improvements and checks to better guard against low-memory situations and to improve the Veracode score.
Changed
Performance improvements when a large amount of updates are being processed for undo/redo.
Changed
The document label is no longer displayed on iPhone when the document doesn't has a label.
Changed
The PSPDFDrawView
is now reused when possible and state aware. (improves drawing polylines/polygons)
Changed
The XFDF parser now correctly parses the lastModified
property of annotations.
Changed
Improve palm detection when using a stylus.
Fixed
Fixes an issue when converting line annotations to JSON.
Fixed
Fixes various issues when using updateAnnotations:animated: from the PSPDFAnnotationManager
.
Fixed
Fixes an issue related to search in the font picker controller.
Fixed
Fixes an issue when using the streaming encryption/decryption with empty XFDF files.
3.7.0 - 19 Apr 2014
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)
Changed
Stylus 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 PSPDFCatalog. (The SDKs need to be downloaded separately. Drivers are currently only available for customers with a license.)
Changed
The annotation toolbar now has a second drawing style (thick, yellow, transparent) and improved color defaults for the other tools.
Changed
Search now detects if the document has no content and shows a different "no page text" message.
Changed
We 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
(see Extras
folder)
Changed
PSPDFKit now has support for transparent reading/writing with encrypted streams in the PSPDFXFDFAnnotationProvider
with the new PSPDFAESCryptoOutputStream
and PSPDFAESCryptoInputStream
. This allows secure storage of annotations.
Changed
The gallery has improved handling for fullscreen transition and properly tears down when the PSPDFViewController
is popped while it is in full screen mode.
Changed
Changed
Changed
The gallery will now correctly scale @2x images from remote servers.
Changed
The gallery now automatically pauses other instances when play is pressed.
Changed
The gallery now allows UIAppearance for blur and background colors.
Changed
The blur algorithm used for the gallery are now over 4x faster and also support live fullscreen blur.
Changed
The speech synthesizer (PSPDFSpeechSynthesizer
) now auto-detects the best language by parsing the current document page.
Changed
Greatly improved AcroForm JavaScript validation support.
Changed
Improves support for custom controllers that don't define a preferred content size when used with PSPDFContainerViewController
.
Changed
Empty ink signatures are no longer saved.
Added
Add confirmation sheet for the "Clear All" button in the annotation table view controller.
Changed
It's now possible to correctly override PSPDFAnnotationCell
from PSPDFAnnotationTableViewController
.
Changed
The PSPDFAnnotationTableViewController
now automatically reloads the content if the visibleAnnotationTypes
property has been changed.
Changed
The PSPDFLibrary
now optionally allows exact word matching with supplying the PSPDFLibraryMatchExactWordsOnlyKey
parameter.
Changed
The XSigner attribute is now parsed and displayed as the signer name if no other name is defined in the digital signature. (PSPDFKit Complete feature)
Added
Adds support for orphaned form elements that are not referenced in the AcroForm dictionary.
Changed
Reloading a document while the keyboard is up will no longer lead to the page animating back to center.
Added
Add some additional safeguards/asserts and developer warnings that help to detect wrong use of certain methods.
Changed
Improve support for custom PSPDFFlexibleAnnotationToolbar
configuration or when used manually without an UINavigationController
.
Changed
Added
Add PSPDFThumbnailFilterSegmentedControl
to enable UIAppearance rules on the thumbnail overview filter segment.
Added
Add basic support for URL actions that are actually JavaScript actions.
Changed
Support loading images from asset catalogs via the pspdfkit:// image loading system.
Changed
The flexible annotation toolbar now better adapts to status bar changes on iOS 7.
Changed
Allow to manually force-load all annotations from the PSPDFXFDFAnnotationProvider
.
Added
Add support for embedded CMap streams for the text parsing engine.
API
The PSPDFAction
objects and the PSPDFPageInfo
objects are now immutable.
API
The toolbar now longer auto-hides when invoked via the context menu. This also removes the hideAfterDrawingDidFinish
property.
API
Removed setTextViewCustomizationBlock:
as it is inconsistent with what we do everywhere else in the framework. Use overrideClass:withClass:
or the pdfViewController:shouldShowController:embeddedInController:options:animated
delegate instead. To change the font, instead of textViewFont
, simply change it in updateTextView
.
API
The bookmarkQueue
is now exposed via a property and not via an ivar in PSPDFBookmarkParser
.
API
A few methods in the digital signature code have been renamed to be more clear about their intent.
API
Adds a new pageTextFound
parameter to didFinishSearch:
and now shows "Document has no content" if a document without text content is being searched.
API
setGlobalBorderColor
on PSPDFLinkAnnotationView
has been removed. The recommended API is to use UIAppearance
on borderColor
instead.
API
Remove explicit close button management inside PSPDFContainerViewController
as the PSPDFViewController
(via PSPDFPresentationManager
) already provides this feature.
Fixed
Fixes an issue where certain pre-encoded URLs with non-ascii characters could end up being encoded twice.
Fixed
Fixes a potential stability issue in the accessibility support for line-based page reading.
Fixed
Fixes an issue that could add overlay-based annotations to the wrong page when a redo action is invoked with soft-deleted annotations.
Fixed
Fixes an issue related to text extraction font caching with different widths.
Fixed
Fixes various rare issues when analyzing the document or writing annotations with partial UTF16-LE encoding, invalid document IDs or missing object references.
Fixed
Fixes a rare crash issue related to missing languages and the PSPDFSpeechSynthesizer
.
3.6.5 - 31 Mar 2014
3.6.4 - 30 Mar 2014
Changed
The flexible annotation toolbar now automatically consolidates buttons if space becomes too short.
Changed
The image/video gallery now loops content by default, unless it's just a single item. (This is controllable by the new loopEnabled
flag)
Changed
Improve documentation around gallery-usage and proper removal from full-screen.
Changed
The percent driven back animation of the inspector now animates the current selected cell out or restores it based on the animation progress.
Changed
Changes the HMAC format for the PSPDFCryptor from SHA1 to SHA256 to be more consistent with the RNCryptor data format.
Changed
The moreBarButtonItem
action sheet is now dismissed when tapped on the button while it being open (instead of showing it again).
Changed
Enables 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.
Fixed
Fixes an issue that could prevent showing some search highlights if there are multiple on the same page.
Fixed
Fixes 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
Changed
Improves placement precision of draft ink annotations when the device is rotated while in drawing mode.
Changed
Improves popover placement for the flexible annotation toolbar in vertical mode.
Changed
Multiple performance and memory improvements, especially for searching and scrolling large documents, and for usage on an iPhone 4.
Changed
Various cosmetic updates (improved thumbnail scroll bar, better support for iPhone 4 which doesn't support live-blur)
Changed
Improves search highlighting accuracy for certain document types.
Fixed
Fixes an issue that could move the scroll view for keyboard events that were not inside the scroll view.
Changed
Small localization updates.
3.6.2 - 21 Mar 2014
Changed
Improves appearance customization options for the new PSPDFFlexibleAnnotationToolbar
.
Changed
The new PSPDFFlexibleAnnotationToolbar
is easier to customize and also has an additionalButtons
property to add custom actions.
Changed
Makes sure the PSPDFFlexibleAnnotationToolbar
is always removed from the view hierarchy as the PSPDFViewController
disappears.
Changed
The PSPDFGallery
now better deals with custom quality properties for YouTube videos.
Changed
Ensures that the status bar doesn't change on iOS 7 with view controller based status bar appearance enabled when the PSPDFStatusHUD
is displayed.
Changed
Improves the XFDF writer/parser to deal with more action types (PSPDFRenditionAction
, PSPDFRichMediaExecuteAction
, PSPDFSubmitFormAction
, PSPDFResetFormAction
, PSPDFHideAction
).
Changed
Improves popover positioning logic, especially for the search popover.
Changed
Improves stability when using the new container annotation provider class.
API
Removes aspectRatioEqual
and aspectRatioVariance
from PSPDFDocument
. Other performance improvements made this option no longer useful.
API
Clarifies usage of the PSPDFGalleryViewController
by renaming the allowFullscreen
property to displayModeUserInteractionEnabled
.
Fixed
Fixes a potential issue with an over-release of NSError when printing a single page with PSPDFKit Viewer.
Fixed
Fixes a stability issue when serializing annotations for certain PDF AcroForm buttons with icons in the appearance characteristics dictionary.
Fixed
Fixes an issue where changing the page via the annotation table view controller could end up on a page that wasn't correctly centered.
Fixed
Fixes a small selection issue with handling multiple equal grouped annotations on the same page.
3.6.1 - 17 Mar 2014
Changed
Before a document is saved, we now set the annotation state mode to nil, which commits any open annotations like inks.
Changed
Reverted the use of @import with modules. Apple's module feature seems to have issues with projects that also use C++.
Fixed
Fixes an issue with saving annotations in certain PDFs with corrupted page IDs.
3.6.0 - 16 Mar 2014
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.
Changed
Fully compatible and tested with iOS 7.1 and Xcode 5.1.
Changed
God dag! We've added Swedish to the list of presupplied localization files.
Changed
All-new flexible annotation toolbar (PSPDFFlexibleAnnotationToolbar
) that can be dragged to be vertical or horizontal.
See PSPDFAnnotationToolbarType
in the PSPDFAnnotationBarButtonItem
to optionally keep using the old annotation toolbar.
Changed
PSPDFKit 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.
Changed
Text selection now supports text-to-speech on iOS 7+. See PSPDFSpeechSynthesizer
for details and options to customize the language.
Changed
Forms on iPhone/iOS 7 now have an automatic zoom feature that makes it a lot easier to enter text.
Changed
Search now also includes annotation and form element contents. This is especially useful for note annotations and forms. (PSPDFKit Basic/Complete)
Changed
Search results are now hidden on page tap (unless that tap finds an action like selecting an annotation.)
Changed
Note annotations are now always rendered at the same size and also visible in the thumbnails.
Changed
PDF annotation writing will now be faster and produce a more compact trailer, reducing target file size.
Added
Adds support for mailto: links with multiple email addresses (also for CC and BCC).
Changed
Saving 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.
Changed
Simple 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].
Changed
The XFDF parser now parses basic rich text strings as used in Acrobat and keeps color and font informations.
Changed
Increases contrast for the selection color on form choice list-boxes.
Changed
PSPDFTextSelectionView
now allows UIAppearance to customize selectionColor
and selectionAlpha
.
Changed
The PSPDFActivityViewController
now checks if printing is allowed for the document before even showing the print option.
Changed
No longer ends the text view edit mode when zooming on iOS 7 (flat mode) and above.
Changed
File annotations are now evaluated lazily, which improves startup performance for documents with many such annotations.
Changed
Note annotations now also create popup annotation on PDF saving. These are optional but increase compatibility with certain less standard-compliant 3rd-party software.
Changed
The 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.
Changed
The PSPDFThumbnailBar
has a new parameter to optionally enable the page labels: showPageLabels
(defaults to NO).
Changed
Many improvements related to PDF AcroForm handling and input validation.
Changed
Calls to didHidePageView:
and didShowPageView:
of views with the PSPDFAnnotationViewProtocol
are now properly balanced.
Changed
The text parser now has a more sophisticated text shadow/overlay detection, which improves search results by removing duplicated glyphs.
Changed
The gallery has a new mode that enables live-blur behind the content (see blurEnabled
on PSPDFGalleryViewController
).
Fixed
Fixes an issue where the popover might open at an unexpected location when using the inline multimedia system with the popover:true parameter.
Changed
Font annotations are now rendered with their AP stream for greater document accuracy.
Changed
Annotations now support the additional action mouse up event.
Changed
Greatly improves speed for the XFDF image deserialization process.
API
PSPDFKit now requires the Accelerate.framework. If you're using the PSPDFKit.xcconfig file, you don't need to change anything.
API
Search related methods are now in the new searchHighlightViewManager
property of PSPDFViewController.
API
The 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-new PSPDFStatusHUD
, which features a modern iOS 7 design and an improved API.
API
PSPDFDocument
should be treated as an immutable object (apart from settings). Thus, the files
and fileURL
properties have been made readonly, and appendFile:
has been removed. Create a new document with the new files/data objects instead. Use the new helper documentByAppendingObjects:
to create a modified document with a new file or data objects.
API
The PSPDFAnnotationManager
now supports various protocol strings, thus the property protocolString
has been renamed to protocolStrings
and is now an NSArray that takes NSStrings. We've added embed://
as a second, neutral protocol format.
API
The 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.
API
The PSPDFSignatureViewController
no longer dismisses itself. Dismiss the controller in the delegate callbacks.
API
Code and subclassing hooks that could be used to change the PSPDFScrobbleBar
frame have been moved to PSPDFHUDView
.
API
Removes various deprecated code.
Fixed
Fixes an issue related to YouTube video parsing - now compatible with even more video subtypes.
Fixed
Fixes a weird scrolling behavior for some form elements.
Fixed
Fixes an issue where the free text tool wouldn't work if highlighting was selected before that.
Fixed
Fixes an issue where PDF form values could become corrupted because of insufficient escaping in some PDF files.
Fixed
Fixes an issue where drawings could be created on multiple pages if the page is changed while in drawing mode.
Fixed
Fixes multiple issues related to forms on rotated pages.
Fixed
Fixes an issue related to annotation fetching and the pageRange
feature of PSPDFDocument
.
Fixed
Fixes multiple issues related to the ink eraser.
3.5.2 - 21 Feb 2014
Changed
PSPDFYouTubeAnnotationView
has been removed in favor of the newer PSPDFGallery
. Te gallery is a much better user experience for embedding YouTube videos.
Added
Adds a workaround to prevent unwanted UIPopoverController
animations that might appear under certain conditions on iOS 7.0.
Added
New property highlightColor
on PSPDFPageView
to control the color used for link/form touch feedback.
Changed
Improves reload behavior with an external animation block.
Changed
The play button for the PSPDFGallery
is now always white and configurable via UIAppearance
.
Changed
Improves fade animation of the page label under iOS 7, especially for the new blur-page label setting on iOS 7.
Changed
The PSPDFDocumentPickerController
now uses a dynamic size when displayed as a popover.
Changed
Various smaller improvements related to the new sidebar example in PSPDFCatalog.
Changed
defaultColorOptionsForAnnotationType
now returns an NSArray of string, color tuples.
Added
Adds UIAppearance support for the default search view highlight color.
Changed
The 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.
Changed
The allowsCopying
property in PSPDFDocument
no longer controls if the "Copy" option for annotations is displayed. This property only controls text.
Changed
Makes sure that the ink width while drawing and rotating is always the correct one.
API
padding
of PSPDFViewController
is now of type UIEdgeInsets
and also works with PSPDFPageTransitionScrollContinuous
.
Changed
Stamps now more closely resemble the look of Adobe Acrobat.
Changed
Improves content type detection in the gallery.
Changed
Various localization improvements.
Changed
The XFDF parser can now write images within appearance streams to Adobe Acrobat.
Fixed
Fixes an issue where the text rect could be CGRectZero if the shouldSelectText:
delegate was not set.
Fixed
Fixes an positioning issue related to custom scopes in PSPDFSearchViewController
.
Fixed
Fixes an issue where the PSPDFMultiDocumentViewController
would not work as expected if the delegate was not set.
Fixed
Fixes an issue where the PSPDFMultiDocumentViewController
would only show the thumbnails for the first document.
Fixed
Fixes a stability issue related to the "Clear All" feature and the XFDF annotation provider.
3.5.1 - 15 Feb 2014
Added
New property in the PSPDFStyleManager
to control if changes to annotations should be saved as the new defaults: shouldUpdateDefaultsForAnnotationChanges
.
Changed
Expose cornerRadius
in PSPDFResizableView
to customize the border appearance.
Changed
Behavior Change: Setting the annotationSaveMode
to PSPDFAnnotationSaveModeDisabled
will no longer disable annotation editing features. To disable annotation editing, set the editableAnnotationTypes
property of the PSPDFDocument
to nil instead.
Added
Adds a new delegate "pdfDocument:provider:shouldSaveAnnotations:" to allow a more fine-grained control over the saving process.
Changed
No longer removes unknown views from PSPDFPageView
. Use prepareForReuse
to manually clean up if you subclass PSPDFPageView
.
Changed
Improves compatibility with embedded PDF files.
Changed
Ensures that document metadata is preserved after writing annotations or forms.
Changed
Improves compatibility with annotation or form writing for certain less commonly used PDF subformats.
Changed
Improves several UI details for iOS 7 legacy mode. (UIUseLegacyUI
or compiled with SDK 6. This mode is not recommended, but will work.)
Changed
The PSPDFGallery
can now display YouTube videos. This will most likely replace PSPDFYouTubeAnnotationView
in future versions.
Changed
The XFDF parser can now load images within appearance streams from Adobe Acrobat.
Fixed
Fixes an issue on iOS 6 where the gradient background for the page position label could be too small.
Fixed
Fixes a stability issue on iOS 6 related to PSPDFBarButtonItem
tint color updating.
Fixed
Fixes an issue that prevented to hide the thumbnail bar in PSPDFThumbnailBarModeScrollable
unless PSPDFHUDViewAnimationSlide
was also set.
Fixed
Fixes some tiny memory leaks on error situations.
Fixed
Fixes an issue related to re-using PSPDFSearchViewController
. Thus only happened in custom code, as PSPDFKit recreates this controller as needed.
Fixed
Fixes an issue where subclasses of PSPDFFileAnnotationProvider
could encounter immutable objects where mutable objects were expected.
Fixed
Fixes a stability issue related to autodetecting link types.
Fixed
Fixes an issue related to exporting appearance streams via XFDF.
Fixed
Fixes 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
API
The PSPDFAnnotationToolbar
has been modularized and all state related code is now in PSPDFAnnotationStateManager
, which is a property of PSPDFViewController
.
You might have to update your subclasses to reflect these changes. PSPDFAnnotationStateManager
should now be used instead of a headless PSPDFAnnotationToolbar
if you have your own toolbar.
Added
New unified setBoundingBox:transform: method on PSPDFAnnotation
. Adds a helper that transforms the font size on resizing.
Changed
The 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.
Changed
Various smaller animation tweaks.
Changed
The PSPDFGallery
now shows the already fetched parts of a video in the progress bar.
Changed
Bookmarks now use the pageLabel, if one exists, instead of the logical page number.
Changed
Embedding YouTube objects now support parameters in the URLs.
Changed
Better handling of exporting annotations into rotated PDF pages via PSPDFProcessor
.
Changed
Improves several cases where phone numbers were not correctly detected before. (PSPDFTextCheckingTypePhoneNumber
)
Changed
Correctly displays border for forms that define the border color in the MK dictionary.
Added
Adds initial support for text field form validation. (Currently, AFNumber_Format
is supported.)
Added
Adds limited support for drawing rich (formatted) free text annotations on iOS 7. Editing will convert them into plain text annotations.
Changed
Greatly improves XFDF support for complex PDF Forms, now better matches the output of Acrobat.
Fixed
Fixes an issue that could reset the ink annotation width to 1.
Fixed
Fixes a crash when processing certain sound annotations using PSPDFProcessor.
Fixed
Fixes 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.
Fixed
Fixes an issue that didn't correctly update the thumbnails when bookmarks were added/removed while displaying the grid.
Fixed
Fixes an issue that could show the signature selector controller when adding the first signature on iPhone only.
Fixed
Fixes 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.
Changed
Tap-to-zoom now starts rendering the page instantly; this improves render performance quite a bit.
Changed
Visual improvements for the form choice view controller.
Changed
Multiline Form Text Fields are now vertically aligned to the top.
Changed
Editable choice form elements now show touch down feedback and keep the keyboard for easier switching on iPad.
Changed
Long-Pressing on form elements will no longer cancel the tap action.
Changed
Form elements can now be navigated with a hardware keyboard via the arrow keys and escape/space/enter. (iOS 7 only)
Changed
Form navigation with prev/next now includes choice form elements, and the value can be toggle with the space bar.
Changed
Ensures that stamps never draw text outside their boundaries.
Changed
Render/Update performance for pages with many annotations has been greatly improved.
Changed
When using the PSPDFAnnotationTableViewController
, form elements are not only selected but also brought into edit mode.
Changed
Improves support for file:// links if linkAction is not set to PSPDFLinkActionInlineBrowser.
Changed
Tweaks link type autodetection to work better on certain types of documents.
Changed
Expose the completion handler for UIActivityViewController
inside PSPDFActivityBarButtonItem
.
API
Remove long press support for bar button items. This was only used for the bookmark button and already defaulted to NO.
Changed
PSPDFPageView
now sends a PSPDFPageViewSelectedAnnotationsDidChangeNotification
notification each time the selectedAnnotations
property changes.
Changed
Erasing is now faster with custom annotation providers, as change notifications are now queued and sent on touch end events only.
Fixed
Fixes an issue that could hide the outline bar button in cases where annotations were in the document but no outline.
Fixed
Fixes 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.
Fixed
Fixes an issue where certain form checkboxes were not checked if appearance streams were missing from the PDF.
Fixed
Fixes an issue where form buttons with named actions sometimes failed to change the page.
Fixed
Fixes an issue where saving certain form objects could hide these form objects in Acrobat.
Fixed
Fixes an issue where manual bookmark reordering wasn't saved in some situations.
Fixed
Fixes a rare recursion issue on iOS 6 when using the old toggle-style for the viewMode bar button item.
Fixed
Fixes an issue where the bookmark bar button not always reflected the actual bookmark state.
Fixed
Fixes a potential over-release with certain rarely used CMaps definitions that include other CMaps.
3.4.5 - 24 Jan 2014
Changed
Better handles resizing for rotated stamps.
Changed
The Open In... activity is now displayed for NSData-based documents.
Changed
Improve availability filtering for the PSPDFOutlineBarButtonItem
, no longer presents an empty controller if no content is available.
Changed
Small localization updates.
Changed
Improve XFDF action writing for non-standard types like GoToR.
Changed
Improvements to word/new line detection in the text parser for certain documents.
Changed
Improves rendering performance, especially for more complex PDF forms.
Changed
Form updates are now more snappy and no longer animate.
Changed
Various smaller improvements for the inline web view. (PSPDFWebAnnotationView
)
Fixed
Fixes an issue where annotations could end up at a different location when rotated documents were re-saved using PSPDFProcessor
.
Fixed
Fixes an issue where viewControllers
of the PSPDFContainerViewController
could return nil.
Fixed
Fixes an issue where annotations saved via PSPDFProcessor
could end up on a different page.
Fixed
Fixes 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
Added
Changed
The PSPDFGallery
now shows an AirPlay button if AirPlay sources are available.
Changed
Stamp annotations no longer have distorted text.
Changed
Update OpenSSL to OpenSSL 1.0.1f.
Changed
Forms: Checkboxes with the same name and parent form a mutually exclusive group.
Changed
zoomToRect:page:animated:
now honors the animated
option and compensates for the x/y origin depending on the scroll direction for PSPDFPageTransitionScrollContinuous
.
Fixed
Fixes an regression in the annotation toolbar related to tap handling.
Fixed
Fixes 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
Changed
Code updated to be warning-free with iOS 7.1b4 and Xcode 5.1b4.
Changed
Extracted all possible PSPDFMenuItem
identifiers to PSPDFPageView
.
Changed
PSPDFProcessor
's generatePDFFromURL:
and generatePDFFromHTMLString:
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.
Changed
Improves search animation for the PSPDFOutlineViewController
.
Changed
Various 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.
Fixed
Fixes a regression where two-finger-scrolling in highlight mode no longer worked.
Fixed
Fixes a rare timing issue where a mutation error could be thrown if reloadData is called within page loading delegate methods.
Fixed
Fixes 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
Changed
Improved defaults for the status bar and the activity controller.
Changed
The document and page label now use blur on iOS 7.
Changed
Full-page-ads with links now no longer highlight the whole page.
Changed
The bookmark activity now shows the current bookmarked state.
Changed
The thumbnail cells use the active tintColor on iOS 7 as their selection border color.
Added
New property to control if the HUD should be visible on viewWillAppear. (shouldShowHUDOnViewWillAppear:
)
Changed
Slightly darker default background for the PSPDFViewController
on iOS 7.
Fixed
Fixes an regression with the loupe view and UIInterfaceOrientationLandscapeLeft.
Fixed
Fixes an issue where annotations could be missing when exporting single pages that are backed by XFDF via email.
Fixed
Fixes an issue where the internal web browser wasn't correctly dismissed when an App Store link was detected.
Fixed
Fixes an issue where the contentInset could become too large when using the PSPDFStampViewController
.
3.4.1 - 18 Jan 2014
3.4.0 - 18 Jan 2014
Changed
The PSPDFVideoAnnotationView
has been completely removed as the new PSPDFGallery
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)
Changed
Ink 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.
Changed
Various annotation changes and page updates are now animated (most visible when using undo/redo).
Changed
Various improvements and fixes for PDF Forms.
Changed
Improves the activity bar button item, actions will forward to the bar button items if possible.
Changed
The annotation toolbar will now attempt to merge highlights if they overlay each other and have the same color.
Changed
Improves hit testing for smaller annotation types like note annotations.
Changed
The PSPDFPrintBarButtonItem
now uses the PSPDFDocumentSharingViewController
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.
Changed
The annotation summary now generates an attributed string when printing or sending via email.
Added
Add PSPDFAnnotationIgnoreNoteIndicatorIconKey
to optionally disable the note indicator rendering.
Changed
Improves support for links to different documents via URI action type.
Changed
Adding a signature will now make it smaller and more appropriate for large documents.
Changed
The PSPDFSignatureSelectorViewController
is now stateful, has a minimum size and will show "No Signatures" if the last signature was deleted while being open.
Changed
The use of the outline in the search preview is now configurable via useOutlineForPageNames
in the PSPDFSearchViewController
. It defaults to YES.
Added
New iPhone popover controller that better fits into iOS 7.
Changed
The annotation type image in the annotation table view is now colored in the same color as the annotation itself.
Added
Adds a workaround for an issue where iOS would change the status bar when showing an UIAlertView without setting it back to the previous setting.
Changed
Exposes filteredPagesForType:
to customize what the thumbnail controller displays, and increases the touch target of the thumbnail filter.
Fixed
Fixes an issue when certain annotation types were manually overridden to be displayed as overlay, they could be initially visible until moved on page load.
Fixed
Fixes an UI regression where the PSPDFProgressHUD
would be rotated wrongly on device rotation.
Fixed
Fixes an issue where YouTube videos were no longer being paused automatically in iOS 7 when in thumbnail mode.
Fixed
Fixes a timing issue when multiple galleries were loaded at a page on the same time.
Fixed
Fixes an issue in PSPDFTabbedViewController
that could move pages off center when using iOS 7 when the HUD fades out.
Fixed
Fixes an issue with embedding forms into documents with a invalid trailer ID.
Fixed
Fixes an issue where dismissing the half-modal form choice picker could dismiss the current view controller on the iPhone.
Fixed
Fixes an issue with extracting font glyph rect data, especially for CJK documents that use 'usecmap' to link to other CMaps.
Fixed
Fixes 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
Changed
The gallery now supports more options like autostart, cover views or control customizations.
Changed
Improved the highlightedString
feature by narrowing down the target rect. Reduces the chance to extract text above/below the marked text.
Changed
The render activity view now has a slight delay and animates in and out, making it less disruptive.
Changed
Extends support for iOS 7 dynamic type to more controls and cells.
Changed
Localization has been streamlined and requires less entries. If you rely in a specific identifier
for PSPDFMenuItem
checks, remove the "..." from the strings.
Changed
The option view in PSPDFNoteAnnotationViewController
now uses blur on iOS 7 instead of plain transparency.
Added
Adds further workarounds for issues in UITextView
on iOS 7 which improves caret scrolling and visibility when using external keyboards.
Changed
The "Clear All" action on PSPDFAnnotationTableViewController
is now a single undo step instead of one per annotation.
Fixed
Fixes an issue where the redo action of the PSPDFAnnotationToolbar
would always prefer drawing redos, potentially preferring the wrong actions first.
Fixed
Fixes an issue that blocked moving annotations if they are above a form field.
Fixed
Fixes 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
Changed
The annotation table view has been redesigned and also shows the creation user and the last modification date, if available.
Added
New property: skipMenuForNoteAnnotationsOnIPad
to control how the note controller is displayed.
Changed
Update selection style for the saved annotation cells to better match the iOS 7 design.
Changed
Improves logic for popover resizing of the container controller.
Changed
Various tweaks to the stamp controller and the text stamp controller. Now adds default date stamps, automatically shows keyboard once the PSPDFTextStampViewController
appears and more.
Changed
Various localization updates, including localization for stamps.
Changed
The localizedDescription
for PDF Form Fields is now smarter and won't create strings like Button: Button.
Changed
The PSPDFAnnotationToolbar
has a new backButtonItem
hook to replace the default "Done" back button.
Changed
Some more icon tweaks: delete now better fits into the iOS 7 UIMenuController
and sound now is a microphone instead of a note.
Fixed
Fixes an issue with saving custom pspdfkit:// prefixed links via the XFDF provider.
3.3.3 - 6 Jan 2014
Changed
Re-enables the Clear button in the new PSPDFFreeTextAccessoryView
after text has been changed.
Changed
Don't show the ".pdf" file ending in the PSPDFDocumentPickerController
.
Changed
The inspector now repositions itself if the annotation changes the boundingBox
.
Changed
Saving annotations into the PDF has been optimized and creates a smaller PDF.
Changed
Form objects no longer are deletable when using the PSPDFAnnotationTableViewController
but will be cleared instead.
API
Removed PSPDFInitialAnnotationLoadDelay. This is no longer a performance problem and has thus been removed and optimized.
Changed
Improves styling in PSPDFWebViewController
for iOS 6 when the navigation bar style is dark.
Changed
The 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.
Fixed
Fixes 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.
Fixed
Fixes an issue that prevented forms from saving correctly when saved via the Send via Email/Open In feature from a readonly source.
Fixed
Fixes multiple issues with building/preserving the appearance string for certain PDF form elements.
3.3.2 - 4 Jan 2014
Added
Adds new accessory view for free text annotations to quickly access the inspector.
Changed
The font size in PSPDFNoteAnnotationViewController
now adapts to iOS 7 content size.
Changed
The gradient calculation used in PSPDFNoteAnnotationViewController
now simply returns a default yellow if the base is white.
Changed
The delete note icon in PSPDFNoteAnnotationViewController
is now dynamically enabled/disabled depending if there's text in the UITextView
.
Changed
Improves the animation and various design details in PSPDFSearchViewController
, especially on iOS 7.
Changed
Improves the annotation summary to now repeat type and description if that's the same. (Ink, Ink)
Changed
Various smaller design updates for the annotation inspector.
Changed
API Update: generatePDFFromDocument:
now accepts pageRanges
as NSArray, which enables easy re-ordering of document pages (compared to a single NSIndexSet)
Fixed
Fixes an UI issue where the text view wouldn't properly adapt in PSPDFNoteAnnotationViewController
on iPhone.
Fixed
Fixes an UI issue where the "No Bookmarks" label could be not exactly centered on first load.
Fixed
Fixes an issue where the annotation bar button item would be disabled with PSPDFAnnotationSaveModeExternalFile
.
Fixed
Fixes 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.
Fixed
Fixes 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
Changed
PSPDFKit now displays note indicators for annotations with note content.
Changed
Annotations that can't be erased are no longer hidden while in erase mode.
Changed
The view controller order in PSPDFOutlineBarButtonItem
and in PSPDFThumbnailViewController
has been changed - bookmark is now the last entry.
Changed
PSPDFSearchViewController now has support for custom scopes with a new optional delegate method.
Changed
On iOS 7 we now support shouldAutomaticallyAdjustScrollViewInsets
with PSPDFPageTransitionScrollContinuous
& PSPDFScrollDirectionVertical
.
Changed
The scroll-to-top feature when the status bar is tapped no longer breaks when showing/hiding the thumbnail controller.
Fixed
Fixes an issue with glyph position calculation for certain rotated documents that had a non-nil origin.
Fixed
Fixes an issue that prevented linking the precompiled PSPDFKit.framework with Xcode 4.6.
Fixed
Fixes a timing issue where the annotation menu wasn't always displayed wen selecting an annotation via the PSPDFAnnotationTableViewController
on iPhone.
Fixed
Fixes a small issue where the PSPDFNoteAnnotationViewController
could fail to show the keyboard when presented manually with a certain timing.
Fixed
Fixes an issue that could have kept a total 1-2 instances of PSPDFPageView
around, even when the PSPDFViewController
was deallocated.
Fixed
Fixes a potential retain cycle in the PSPDFDocumentSharingViewController
on iOS 7.
3.3.0 - 29 Dec 2013
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.
Changed
Localization! PSPDFKit now ships with English, Chinese, Korean, Japanese, French, Spanish, Russian, Italian, Danish, German, Portuguese and Brazilian Portuguese.
Added
Adds preliminary compatibility with Xcode 5.1 and iOS 7.1b2.
Changed
Refreshed 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.
Changed
PSPDFKit Complete/Enterprise can now validate cryptographic signatures (unless you use the build without OpenSSL)
Changed
Changed
Finally fully supports the new UIViewControllerBasedStatusBarAppearance
. (we now support both modes in iOS 7)
Changed
The PSPDFAnnotationToolbar
now displays the style picker for text markup annotations (highlights).
Changed
The PSPDFGalleryViewController
now supports local/remote video and audio files next to images.
Changed
The internal PSPDFWebViewController
now shows a progress bar, much like Safari on iOS 7.
Changed
Improves automatic font resizing for single line text field form entries.
Changed
Improved support for additionalActions
and nextAction
to add actions to all annotation types.
Changed
API Change: PSPDFTextSelectionMenuActionWikipediaAsFallback
has been renamed to PSPDFTextSelectionMenuActionWikipedia
. Since checking for a word in UIReferenceLibraryViewController
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.
Changed
Don't show the PSPDFWebViewController
bottom toolbar on iPhone if there are no availableActions
defined.
Changed
Allow detection for a PSPDFKit signature and blocks the "Copy" feature if detected. Will also be saved into the PDF as proprietary extension.
Changed
If there's no signature saved and customer signature is disabled, we'll show the new signature controller instantly.
Added
Adds a new property: shouldCacheThumbnails
to suppress thumbnail cache generation.
Added
Adds a new property: shouldHideHUDOnPageChange
to fine-tine when the HUD is hidden.
Changed
Highlight etc is no longer offered on text selection if the document can't be saved.
Changed
Improves Form Element description in the annotation table view.
Changed
Allow "Clear Field" for Choice Form Elements with editable text.
Changed
Improve support for hidden form elements or choices that are neither editable nor have options.
Added
Add hitTestRectForPoint: on PSPDFPageView
to allow customization of the rect that is used for tap hit testing to select annotations.
Changed
Make document parsing more robust to allow dealing with files that have incorrect XRef tables.
Changed
The text selection handles now have the proper hit test size when zoomed in - improves your ability to interact with other content.
Changed
Changed
The note icon name is now properly serialized when using the XFDF annotation provider.
Changed
The XFDF provider now only saves if an annotation is changed. Deserialized annotations are set to be not dirty by default now.
Changed
Annotation and outline classes have been optimized to require less memory and reuse more objects internally.
Changed
Lots of code cleaning, improved documentation and some reorganization. The binary is now smaller and compiles faster.
Changed
Moves document parsing to a background thread, improves initial startup time for complex, large documents.
Changed
GoToR actions with target named destinations are now supported.
Changed
FreeText annotations are now correctly rendered and displayed even when their bounding box is too small for the text.
Changed
Audio recordings can now be time limited and the default encoding/bitrate can be customized in PSPDFAudioHelper
.
Changed
The default set of stamps is now localizable and localized by default.
Changed
The 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.
Changed
Improved touch handling when resizing/moving annotations.
Fixed
Fixes 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.
Changed
Page scroll animations are reduced to allow faster navigation.
Changed
Annotation 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.
Changed
No longer shows the bounding box when selecting/resizing line annotations.
Changed
The undo/redo stack is now consolidated - no more difference or disabled undo while in drawing mode.
Changed
Properly coordinate print controller popover to close when other popovers are activated.
Changed
Use blurry background for UIPopoverController in the stamp section.
Changed
The annotation creation menu now only shows the most important annotation types; customize via createAnnotationMenuTypes
in the PSPDFViewController
.
Removed
Removes the IDNSDK to get a smaller binary.
Changed
When 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.
Fixed
Fixes a rare crash in (poly)line point calculation if the points are on top of each other.
Fixed
Fixes 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.
Fixed
Fixes a regression where the selected annotation for multiple potentials was reversed.
Fixed
Fixes an issue where annotations with appearance stream could be rendered at the wrong position and/or size.
Fixed
Fixes an issue where annotations could be returned from the last page when forms are in the document, even if a different page was requested.
Fixed
Fixes an issue with the label parser when encountering offset pages.
Fixed
Fixes 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
Changed
Improves custom text stamp creation layout and fixes an issue where the text wasn't always displayed within the table view.
Changed
Form text fields are now no longer clipped when the zoom scale is very low.
Changed
Border on a form is now only rendered when defined so in the dictionary for widget/form annotations.
Changed
Signatures now use PSPDFAnnotationStringSignature
as style key, instead of the PSPDFAnnotationStringInk
that was used before.
Changed
Improves support with Microsoft Outlook by making sure we always send the .pdf file ending when sharing via email.
Changed
Any 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.
Changed
Choice form elements now have a click-through-able popover and are highlighted when active.
Changed
Next/Prev now works across multiple pages and also includes choice form elements.
Changed
The form highlightColor is now a property on PSPDFFormElement and thus configurable.
Changed
Works around a bug in iOS 7 where the UITextView wouldn't properly scroll to a new line when entering text in a PDF Form.
Changed
The PSPDFOutlineViewController
now shows the empty state if the document has no outline set but the controller is still displayed.
Changed
Improves compatibility with parsing invalid URLs in link actions - will correct more variants.
Fixed
Fixes an issue where certain form choice elements with partial dictionaries could be incorrectly parsed/rendered.
Fixed
Fixes an issue that could prevent form choice elements from being saved correctly back into the PDF.
Fixed
Fixes a rare collection mutation regression when erase mode was active while annotation changes for visible inks were processed.
Fixed
Fixes an issue where allAnnotationsOfType:
sometimes could miss certain annotations when an internal save file was used.
Fixed
Fixes an regression where hasDirtyAnnotations
could report YES when we really don't have any unsaved changes.
Fixed
Fixes some localization issues with line endings in the Inspector.
3.2.2 - 24 Nov 2013
Changed
The gallery now allows image zooming when in full screen and requires less memory when loading remote images.
Changed
The gallery is now more customizable, allows custom background colors and recognizes @2x images when they are local.
Changed
The PSPDFDocumentSharingViewController
will now use a temporary directory to save annotations into the PDF if it's in a non-writable location.
Changed
The password view now automatically shows the keyboard.
Changed
If annotations can't be embedded, the new annotation menu will not be displayed anymore (to be consistent with the PSPDFAnnotationBarButtonItem
)
Changed
The runtime now better deals with multiple annotation subclasses that both change the behavior of a parent class. Use overrideClass:withClass:
on PSPDFDocument
to register such subclasses.
Changed
Set the default ink line width to 3, unless a default is already set.
Changed
Using undo/redo while in eraser mode will now also allow adding/removing of ink annotations.
Changed
The 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)
Changed
If the named destination of a link can't be resolved we will ignore the action and no longer scroll to page 0.
Changed
Improve selection contrast in the PSPDFAnnotationToolbar
.
Changed
The 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.
Changed
Various warning/error messages are now printed with the code location instead of a generic PSPDFError trace.
Changed
Annotation management now uses equality checks instead of memory-based checks, this makes the code more robust when objects are recreated in the annotation providers.
Changed
Text field form elements now resize as we are typing and better render multi-lined text.
Changed
PDF Signature Form elements are now tappable and will offer to add a ink annotation as signature.
Changed
API change: Renamed showNewSignatureMenuAtPoint:animated:
with showNewSignatureMenuAtRect:animated:
. Use a rect with size zero to get the previous behavior.
API
Some subclassing hooks that have been declared but weren't called have been properly removed.
Changed
Undo/Redo is disabled by default on old devices to improve performance. (Notably, the iPad 1 with iOS 5.)
Changed
Improves error handling for corrupt or missing PDFs.
Changed
Using 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.
Fixed
Fixes an issue where ink annotations could change position for PDF documents with non-nil origin points.
Fixed
Fixes an issue where some text in form elements could render incorrectly when the page was rotated.
Fixed
Fixes a potential recursion when parsing malformed documents.
Fixed
Fixes an issue where annotationsFromDetectingLinkTypes:
could throw an exception if a page returns nil as body text. (e.g. corrupt or password protected files)
Fixed
Fixes an issue where the gallery component could throw an UIViewControllerHierarchyInconsistency
when used in combination with PSPDFPageTransitionCurl
.
Fixed
Fixes an issue where we incorrectly detected a regular password protection as custom encryption filter.
3.2.1 - 13 Nov 2013
Changed
Improved a few cases where the PSPDFDocumentSharingViewController
was displayed with practically no options to choose.
Changed
Improves the thumbnail <-> page(s) animation so it even looks great when the thumbnail button is toggled really fast.
Changed
The PSPDFNoteAnnotationViewController
no longer shows the 'copy' button by default, the toolbar looked too cramped.
Fixed
Fixes an issue with UID generation when the document isn't inside the app bundle.
Fixed
Fixes an issue where larger XFDF ink annotations could degrade when being parsed.
Fixed
Fixes an issue where the initial call for annotationsForPage:
in the PSPDFXFDFAnnotationProvider
could return an empty array.
Fixed
Fixes an issue with UIKit legacy mode and the PSPDFAnnoationToolbar
in certain setups.
Fixed
Fixes an issue where 'Finish Recording' on sound annotations wouldn't work if the recording was still active but currently paused.
Fixed
Fixes an rare issue with writing annotations if inline UTF-16 (the special Adobe flavor) is used within the /Pages
root object.
Changed
Titanium: Exposes printOptions
, sendOptions
and openInOptions
from the corresponding PSPDF*BarButtonItems
.
3.2.0 - 10 Nov 2013
Changed
Lots 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.
Changed
YouTube and Web views now automatically reload themselves when a reachability change is detected.
Changed
Long-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.
Changed
Greatly improves handling of (rotated) FreeText annotations and rotated pages.
Changed
The search bar is now attached to the top on iPhone, to better match iOS 7 style.
Changed
Rendered images are now more more likely to be cached to disk, resulting in less work overall.
Changed
Improves thumbnail scroll performance, especially on the iPad 1.
Changed
Improvements to the text parser, now can parse another category of documents that use Font Programs to define their glyphs.
Changed
Form Check Box Elements now render the AP stream by default and fall back to internal rendering if no stream was found.
Changed
Form background colors are now dynamically parsed and displayed instead of the default light blue.
Changed
Improves support for various Forms that define the form element across multiple objects.
Changed
Improves the touch-down-highlight for form elements.
Changed
Allows overriding of PSPDFTextSelectionView
.
Changed
Improves text extraction for highlight annotations when there are multiple overlapping rects.
Fixed
Fixes an issue where the text selection wasn't properly updated on rotation.
Fixed
Fixes a potential deadlock when async saving was called manually while the view controller was popped from the screen which also invokes a save.
Fixed
Fixes an issue where the tab controls of PSPDFTabbedViewController
wouldn't respect the minTabWidth
property.
Fixed
Fixes an issue with rendering annotations with overlapping fill-areas in UIKit legacy mode.
Fixed
Fixes an issue where certain UIActionSheets
on iOS 6 could be mis-placed.
Fixed
Fixes an issue with getting images for iOS 6 when the PSPDFKit.bundle is in a non-standard location.
Fixed
Fixes a potential exception when a PDF contained an annotation with a malformed bounding box.
Fixed
Fixes a potential exception when a free text annotation of size zero was created and subsequently edited.
Fixed
Fixes an issue with saving annotation in certain documents that previously produced warnings.
Fixed
Fixes a potential crash when loading annotations from the disk store while a save filter is active.
Fixed
Fixes an issue where under rare conditions flattened notes could be rendered mirrored.
Fixed
Fixes a rare condition where the cache could get into a state where it no longer pre-renders document pages.
Changed
Titanium: The plugin is now simply named com.pspdfkit
(from com.pspdfkit.source
)
Changed
Titanium: editableAnnotationTypes can now be set in documentOptions
.
3.1.4 - 3 Nov 2013
Changed
Improves rendering of line endings in the selected state.
Changed
Don't show an "external application" dialog if our own app responds to the URL scheme in question.
Changed
The PSPDFGallery can now better deal with a single image and will auto-generate the appropriate manifest if a PSPDFLinkAnnotation points to the image.
Changed
Allows overriding of PSPDFColorSelectionViewController from within the inspector.
Changed
Allows fine-tuning of the dictionary lookup via PSPDFTextSelectionView's new dictionaryHasDefinitionForTerm: method.
Changed
Enabling/Disabling the eraser feature no longer flickers the ink annotations.
Changed
The eraser now respects alpha settings of the ink annotations.
Changed
While erasing, Undo/Redo now work as expected.
Changed
Special-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)
Changed
Allow parsing for less common color definitions in appearance strings (k and g)
Changed
Forms: Don't draw background when we have an AP stream for form buttons.
Changed
Forms: Buttons that define an AP-Stream no longer also have a blue background.
Changed
Forms: Buttons(Check boxes, radio buttons) now show a touch-down state when tapping them.
Changed
Forms: No longer flickers when the element is deselected.
Fixed
Fixes a potential crash in the selection view when we select a free text annotation with zero width.
Fixed
Fixes an infinite loop when searching certain characters.
3.1.3 - 24 Oct 2013
Changed
PSPDFKit now requires the CoreTelephony.framework (this will be added automatically if you use the PSPDFKit.xcconfig file)
Changed
The autodetectTextLinkTypes
feature is now faster and will detect more types of phone numbers and URLs, including those that contain spaces/newlines between them.
Changed
Pressing the delete icon in the note annotation controller will only clear the note, except for note annotations where it will delete the whole annotation.
Added
Adds a versioning system for PSPDFKit.bundle. Make sure you always use the bundle we ship with PSPDFKit.
Added
Adds a boxRect:forPage:error: method to PSPDFDocument to easily get a different box rect for the defined page.
Changed
Gallery now supports animated GIFs and downloads images even when the app is in background.
Changed
Improves default header color for the mail view controller.
Fixed
Fixes an issue where the bounding box for FreeText annotation could be too long when they are edited while zoomed in on iOS 7.
Fixed
Fixes an issue where "Inspector..." was displayed for non-editable annotation types.
Fixed
Fixes an issue where "Clear All" deleted all annotations, even those not displayed in the annotation table view.
Fixed
Fixes an issue where flattened note annotations would sometimes be drawn rotated on rotated documents.
Fixed
Fixes an issue where Free Text annotations added from the toolbar could end up being rotated on rotated documents.
Fixed
Fixes 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
Changed
Faster scrolling, new default page rendering strategy: PSPDFPageRenderingModeThumbnailIfInMemoryThenFullPage
Changed
Improves text selection drawing and text selection menu placing. The few cases where the menu could overlap the selection have been fixed.
Added
Add more sophisticated warnings if the PSPDFKit.bundle is missing.
Changed
PSPDFViewController will now auto-save annotations when the view is dismissed while contained in a child view controller.
Added
Add verticalTextAlignment
to PSPDFFreeTextAnnotation
. 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.
Fixed
Fixes an issue with single page documents, forced two-page-mode and pageCurl.
Fixed
Fixes an issue where under certain conditions the navigationBar was not displayed initially.
3.1.1 - 19 Oct 2013
Changed
Restores compatibility when compiling with Xcode 4.6.
Changed
Various smaller improvements to the new image gallery.
Changed
Various smaller performance improvements, moved some more work off the main thread.
Changed
API cleanup for PSPDFDocumentProvider.
Changed
No longer blocks the UI when annotations are still loading during a touchDown event.
Fixed
Fixes 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.
Fixed
Fixes an issue when adding annotation views for invalid rects.
3.1.0 - 18 Oct 2013
Changed
Brand-new image gallery (define a region in the pdf to be covered by a smooth gallery). Allows configuration via inline-pdf or external JSON.
Changed
Use menu-based annotation manipulation for text markup annotations.
Changed
The 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. The PSPDFUseLegacyUIDGenerationMethod
can be changed at any time to switch between old and new UID (generate a new PSPDFDocument instance to force UID regeneration).
Changed
The 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 default PSPDFAnnotationTypeAll
.
Changed
The undo/redo buttons are now updated immediately after adding annotations.
Changed
The interactivePopGesture (new on iOS 7) is now disabled while we're drawing to prevent accidental usage.
Changed
The PSPDFViewController will now properly clean up state from the annotation creation when dropped from user code while the toolbar is in drawing mode.
Changed
The outline controller now properly shows page destinations above page 10.000.
Changed
Hides a harmless log warning when PSPDFKit tried to render an annotation with an empty width/height.
Changed
When undo is disabled, the undo/redo buttons are now properly hidden when leaving the drawing mode.
Changed
No longer draws the arrow when flattening choice form elements.
Changed
Restores sound annotations that were added via the pspdfkit:// protocol.
Changed
Improves compatibility with UIViewControllerBasedStatusBarAppearance. (ongoing project, still not recommended.)
Changed
Greatly improves scrolling performance with large outline tables.
Fixed
Fixes placement of the search bar in the outline controller.
Fixed
Fixes a crash when pressing undo while adding free text annotations.
Fixed
Fixes a call to a not implemented method in the file annotation provider when manually replacing annotations.
Fixed
Fixes a crash in arm64 when parsing certain malformed PDF documents.
Fixed
Fixes an issue where the password view wasn't correctly updated when the document was changed while it was displayed.
Fixed
Fixes 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.
Fixed
Fixes a timing issue where the text parsing could crash in rare cases.
Fixed
Fixes an off-by-one error that could cut off long lists of ink points when parsing XFDF files.
3.0.11 - 10 Oct 2013
3.0.10 - 10 Oct 2013
Changed
The search controller header is now sticky on iPhone (especially improves display on iOS 7)
Changed
Greatly improves text selection performance when a large number of glyphs is selected.
Changed
Improves eraser mode - faster, and no longer changes the view port when enabling/disabling.
Added
Adds a new convenience method (sortedGlyphs:) when glyphs are manually selected in PSPDFTextSelectionView.
Changed
Improve various details in the XFDF writer.
Changed
Allow pspdfkit:// URLs within the PSPDFXFDFAnnotationProvider.
Removed
Remove confusing search controller animation when it's first presented on iOS 7.
Changed
Improves outline searching on iOS 7 / iPhone.
Changed
Various other smaller tweaks related to iOS 7.
Changed
Don't show the PSPDFDocumentSharingViewController if there are no options available.
Changed
Ensure the annotation style picker closes when the annotation mode changes.
Changed
Improves type detection when pspdfkit:// links are used within URLs that have query parameters.
Added
Adds a workaround for documents with invalid /Pages structure which previously prevented annotation saving.
Added
Add missing localization for "Choose Fill Color".
Changed
The text selection end handle is now prioritized, makes it easier to extend selection for small text.
Fixed
Fixes an issue where changing the position of a note annotation could fail on the first try.
Fixed
Fixes an issue with calling the didCreateDocumentProviderBlock for multiple files.
Fixed
Fixes a 20-pixel offset in the annotation inspector on iPhone/iOS 7.
Fixed
Fixes updating the thumbnail button state.
Fixed
Fixes an issue when showing the annotation toolbar from the bottom.
Fixed
Fixes an issue where popovers could have a width/height of 0 when presented from a bottom toolbar on iOS 7.
Fixed
Fixes a crash on iOS 5 related to the font picker, rotation and early dismissal.
3.0.9 - 4 Oct 2013
Changed
Greatly improves compatibility with text extraction/search, especially for Chinese/Japanese/Korean fonts.
Changed
The autosave feature of the PSPDFViewController can now be controller via the 'autosaveEnabled' property. Defaults to YES.
Changed
Improves the transition between stamps and saved annotations for iOS 7 legacy mode.
Changed
Hide the downloadable fonts section if there are no fonts to download.
Changed
Disables an unwanted implicit animation in the annotation style inspector for iOS 7 legacy mode.
Changed
The "Paste" menu is now more clever and will check if creating the new annotations is allowed before it's displayed instead of failing silently.
Changed
Re-enables search for the outline controller on iOS 7.
Fixed
Fixes an issue in the PSPDFMultiDocumentViewController when the array of documents was set to nil.
Fixed
Fixes a potential crash when parsing invalid PDFs with AcroForm data.
3.0.8 - 2 Oct 2013
Changed
Use a background task to save annotations when the application enters the background to make sure it finishes before the app gets killed.
Changed
Thumbnail page label is now re-enabled by default. (Control this via subclassing PSPDFThumbnailGridViewCell and setting the pageLabelEnabled property.)
Changed
Ensure the status bar is visible if it was originally visible when showing the note view controller on iPhone.
Changed
Improves various details for the note controller, bookmark controller, annotation controller and outline controller related to iOS 7 tinting.
Fixed
Fixes an issue where saved note annotations sometimes were not correctly removed from the page view until the page was changed.
Fixed
Fixes an issue where ink annotations could end up on the wrong page when using multiple document providers.
Fixed
Fixes an issue that could prevent the grouping menu from appear in the annotation toolbar.
Changed
Updated some graphics in the PSPDFKit.bundle.
3.0.7 - 1 Oct 2013
Changed
Improves compatibility with resolving named actions.
Changed
Ensures that the PDF outline is hidden if no page action targets could be resolved.
Changed
Reenable undo/redo by default.
Fixed
Fixes a tiny memory leak.
3.0.6 - 1 Oct 2013
Changed
Always 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.
Changed
The status bar state captured at viewWillAppear is now only restored when the PSPDFVC is popped from the stack, not on every disappear.
Changed
Makes it easier to disable undo/redo. (new undoEnabled property on PSPDFDocument)
Changed
Improves error return code when saving annotations.
Fixed
Fixes an issue where unsaved annotations could be lost during an low memory event when using the tabbed view controller.
Fixed
Fixes a potential non-main-thread call while preparing for saving.
Fixed
Fixes an issue with saving certain documents.
3.0.5 - 30 Sep 2013
Changed
Font picker now is searchable and shows downloadable fonts.
Changed
The eraser UI properties can now be changed via UIAppearance proxies.
Changed
The form text field update logic is now more clever and won't change form objects if they are only tapped.
Changed
Improves styling of the mail sharing view controller on iOS 7.
Changed
Improves interoperability with Objective-C++.
Changed
Improves support for a white global tintColor on iOS 7. (check boxes are no longer white)
Changed
Improves spacing for the half-modal annotation style inspector on iPhone/iOS 7.
Changed
The annotation manager now continues to look into other providers if the previous one returns nil.
Changed
Prevent a case where the HUD could be hidden while we're in the thumbnail transition.
Changed
Changes 'basePath' to 'baseURL' to fix an API inconsistency in PSPDFDocument.
Changed
Creating a large set of PSPDFDocument objects is now much faster (e.g. while using PSPDFDocumentPickerController)
Fixed
Fixes an issue that could prevent saving annotations into certain documents.
Fixed
Fixes an issue where rotating the signature controller would increase the line thickness.
Fixed
Fixes an issue that prevented committing the rename action in the PSPDFBookmarkViewController.
Fixed
Fixes a potential crash related to the annotation selection view.
3.0.4 - 25 Sep 2013
Changed
Further tweaks and changes how tintColor is handled on iOS 7.
Changed
Improve detection code for checked state of radio/checkboxes in the AcroForm parser.
Changed
Improve search controller animation.
Changed
Improve status bar face/slide animations for iOS 7.
Changed
Better protect the undo controller against mis-use.
Added
Add a new option to PSPDFProcessor: PSPDFProcessorStripEmptyPages. This will post-process the HTML-to-PDF result to remove any blank pages there might be.
Changed
The 'contentView' of the PSPDFViewController is now always above the PDF content and below the HUD.
Fixed
Fixes an issue where the scrollable thumbnail bar could sometimes disappear.
Fixed
Fixes 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.
Fixed
Fixes various smaller potential crashes for malformed PDF documents.
Removed
Removes support for the optional alertViewTintColor (was iOS 5/6 only)
3.0.3 - 22 Sep 2013
Changed
The 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.
Changed
Greatly improve tintColor handling on iOS 7.
Changed
Support FDF, XFDF and PDF Form submission methods (next to the existing HTTP)
Changed
Improves speed for the memory image cache internals.
Changed
Increase the allowed handle size for the text selection knobs on iOS 7 to make it easier to change the selection.
Changed
Improves the placement for the page label view on iPhone.
Changed
Ensure toolbar is set for the PSPDFSavedAnnotationViewController when used standalone.
Added
Adds missing localization in various places.
Changed
Improve animation when a popover resizes on iOS 7.
Changed
No longer draws the form field background when forms are flattened.
Changed
Optimized handling of documents that take a huge amount of memory to render.
Changed
Parsing performance for annotation saving is now up to 3x faster for certain complex documents.
Changed
Improve localizedDescription
for form elements.
Fixed
Fixes an issue where the color picker in the half-modal controller on iOS 7 could be sized too small.
Fixed
Fixes an issue where adding annotations could hide the page contents when annotations were added directly to the page dictionary.
Fixed
Fixes an issue where partial label matching was too eager and sometimes picked non-optimal matches.
Fixed
Fixes various rare crashes.
3.0.2 - 14 Sep 2013
Changed
Exposes some additional helpers in PSPDFDocument.
Changed
Improves the document sharing controller UI for legacy UIKit mode.
Changed
Improves support for RichMedia extraction of PDF documents created with Adobe XI 11.0.04.
Fixed
Fixes an issue with rotation when annotations are selected.
3.0.1 - 13 Sep 2013
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:
Changed
Full 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.
Changed
The prebuilt binary is now ready for 64 bit and includes 5 architecture slices: armv7, armv7s, arm64, i386 and x86_64.
Changed
Support for filling out Adobe AcroForm PDF forms. (PSPDFKit Complete/Enterprise only)
Changed
Full-Text-Indexed-Search across all available PSPDFDocuments via PSPDFLibrary. (PSPDFKit Complete/Enterprise only)
Added
New PSPDFDocumentPickerController for easy selection and search within your documents.
Changed
Support of the XFDF (XML Forms Data Format) Adobe standard for saving/loading/sharing annotations and forms.
Changed
Completely redesigned annotation toolbar that groups common annotation types together.
Added
New annotation inspector for faster and more convenient annotation editing.
Changed
Global Undo/Redo for annotation creation/editing.
Changed
Drawing no longer locks the view, you can scroll and zoom with two fingers without any drawing delay.
Added
New PSPDFDocumentSharingViewController to unify annotation flattening from email and open in feature and allow a better page selection.
Changed
Record and play back sounds from sound annotations (fully compatible with Adobe Acrobat)
Changed
FreeText annotations autoresize as you type.
Changed
Squiggly text highlighting.
Changed
Draw and edit Polygon/Polyline annotations.
Changed
Stamp annotations are now added aspect ratio correct.
Changed
Improved PDF generation support in PSPDFProcessor (website/office conversion)
Changed
Improves handling for very small annotations.
Changed
Support for non-default locations for PSPDFKit.bundle.
Changed
The delays for adding/removing annotations has been removed.
Changed
Link/Widget annotations can now be tapped instantly.
Changed
The logic for the keyboard avoidance code has been greatly improved.
Changed
Additional Actions and Action Chains are now properly supported.
Changed
Supports various new touch actions like Hide, Submit Form, Reset Form and adds support for more Named Actions.
Changed
Countless 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 if you're updating from version 2.
Important: PSPDFKit 3 requires a serial number and will run in demo-mode by default.
Visit https://customers.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.22 - 1 Oct 2013
2.14.21 - 12 Sep 2013
Added
Adds a workaround for a bug where thumbnail icons could disappear in iOS 7 legacy mode.
Changed
Ensures we always have a document UID set. Fixes an assert for conditions where this was missing.
Fixed
Fixes a rare crash related to an over-release in certain high-load conditions.
Fixed
Fixes 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.
Try the demo here: http://customers.pspdfkit.com/demo.
Fixed
Fixes an issue where scroll to page doesn't work for zoom levels < 1 in continuous scrolling mode.
Fixed
Fixes an initializer issue in PSPDFOrderedDictionary.
Fixed
Fixes a very rare crash on enqueuing render jobs.
2.14.19 - 6 Aug 2013
Changed
Ensure didShowPageView is called on the initial display of the controller.
Changed
Ensure we don't create multiple PSPDFMoreBarButtonItems while creating the toolbar.
Changed
Ensure 'fileName' only ever uses the last path component. Fixes an issue where the full path would be used in the email send feature.
Fixed
Fixes an issue when using the bookmark filter in the thumbnail controller with a pageRange
filter set.
2.14.18 - 28 Jul 2013
2.14.17 - 26 Jul 2013
Changed
Improves memory handling and search performance for very large documents. (> 10.000 pages)
Changed
Improve URL encoding handling for link annotations, fixing various encoding issues.
Fixed
Fixes an issue where the scrollable thumbnail bar wouldn't properly update when a new document was set.
Fixed
Fixes 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)
Fixed
Fixes a rare crash in PSPDFHighlightAnnotation's highlightedString.
2.14.16 - 19 Jul 2013
Changed
Further improves text extraction performance (faster searching).
Changed
Enables to subclass PSPDFAnnotationCell in the PSPDFAnnotationTableViewController.
Fixed
Fixes an issue where logging the PSPDFDocumentProvider within dealloc could lead to resurrection.
Fixed
Fixes an issue with managing certain PDF caches.
2.14.15 - 12 Jul 2013
Changed
Allow PSPDFMoreBarButtonItem to be subclassable.
Changed
Improve text parser compatibility with PDFs that have deeply nested XObject structures.
Fixed
Fixes 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.
Fixed
Fixes an issue where the word boundaries could be off-by-one due to manually inserted spaces at the wrong index.
Fixed
Fixes 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
Changed
Improve compatibility of the PSPDFMenuItem image support on iOS7.
Fixed
Fixes a compile issue when the Dropbox SDK is linked in combination with PSPDFKit.
Fixed
Fixes an assert when a link action is long-pressed and no action is set.
Fixed
Fixes an issue when the internal webview receives a NSURLErrorCancelled from an async operation.
Fixed
Fixes an issue when annotation notifications are generated from threads other than main.
Fixed
Fixes a crash in the Titanium proxy for certain link annotation actions.
2.14.13 - 27 Jun 2013
Fixed
Fixes an issue where the tab bar views could be placed inside the navigation bar in PSPDFTabbedViewController when rotated without the HUD being visible.
Fixed
Fixes an issue where the thumbnail bar could show stale information when the document changes.
Fixed
Fixes an assertion when an empty action is evaluated through a long-press.
Fixed
Fixes an issue where under certain conditions the note annotation controller could show redundant toolbar buttons.
Fixed
Fixes a potential crash for documents with weird glyph indexes when moving the text selection handles.
Fixed
Fixes a potential recursion crash while supportedInterfaceOrientations is evaluated.
Fixed
Fixes a potential empty context log warning for iOS7.
2.14.12 - 24 Jun 2013
Changed
Improves thumbnail animations on device rotation.
Changed
Improves the efficiency of the memory cache.
Changed
When adding an image and the size picker is dismissed on iPad, we now use high quality instead of throwing away the image.
Changed
Be more conservative about memory when kPSPDFLowMemoryMode is enabled. (Enable this if you have complex PDFs and/or memory related issues)
Fixed
Fixes a potential recursive call problem when editing link annotations.
Fixed
Fixes an issue where certain glyph frames could be calculated too small if the PDF is encoded incorrectly.
Fixed
Fixes an issue with generating JSON from stamp annotations.
Fixed
Fixes an issue where images could be rendered upside down/incorrectly when they have certain EXIF rotation settings.
Fixed
Fixes 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
Changed
Allow 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.
Changed
Ensure the outline page label frame is properly update in landscape mode.
Fixed
Fixes an issue where the annotation table view controller didn't check the editableAnnotationTypes array before offering a delete.
Fixed
Fixes an issue where highlightedString on PSPDFHighlightAnnotation could return incorrect results.
Fixed
Fixes an issue with text extraction.
2.14.10 - 13 Jun 2013
Fixed
Fixes an issue where the outline controller could hang in the "Loading..." state on older devices.
Fixed
Fixes an issue where in rare cases the stamp annotation text could be larger than the stamp itself.
Fixed
Fixes an issue where search could throw an out of range exception for specific PDF encodings.
2.14.9 - 11 Jun 2013
Changed
Various smaller fixes for iOS7. The source code now again compiles without any warnings.
API
change delegate
to annotationToolbarDelegate
for the PSPDFAnnotationToolbar because UIKit now added a delegate property on the toolbar.
API
The setDefaultStampAnnotations method in PSPDFStampViewController is now a class method.
Fixed
Fixes an issue where the thumbnail controller could mis-place the filter header after a frame resize.
Fixed
Fixes 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
2.14.7 - 31 May 2013
Changed
Improved memory management for older devices like iPad1 or when kPSPDFLowMemoryEnabled is set. This helps against possible memory exhaustion on very complex documents.
Fixed
Fixes an issue where the play button of an embedded video sometimes would not change to its actual state (playing) when pressed.
Fixed
Fixes an issue with draw mode restoration after showing a modal view controller while in draw mode when using pageCurl transition.
Changed
Further tweaks to the text extraction engine.
2.14.6 - 29 May 2013
Changed
It's now easier than ever to change the link border color: [PSPDFLinkAnnotationView setGlobalBorderColor:[UIColor greenColor]].
Changed
Thumbnail loading in the scrobble bar is now higher prioritized, loads faster.
Changed
The 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!)
Changed
The PSPDFRenderStatusView is now a public class which can be used to customize the loading spinner displayed while rendering a PDF page.
Changed
Annotation resizing when zoomed in deeply has been greatly improved.
Changed
Further improves text parsing speed and word boundary detection.
Fixed
Fixes an issue where in some cases annotation resizing could fail when changed via the menubar directly before the resize action.
Fixed
Fixes 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.
Fixed
Fixes 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
Changed
PSPDFWebViewController will now use UIActivityViewController on iOS6 by default.
Changed
Support new "loop" option for video annotations.
Changed
Use images for the text alignment setting.
Changed
Improve HSV color picker brightness style.
Changed
Improve word detection for PDF types that already have spaces added and also improves word-break-behavior for ligatures.
Changed
PSPDFKit will now attempt to render even unknown annotation as long as they define an appearance stream.
Changed
Improve search and glyph extraction performance.
Fixed
Fixes 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.
Fixed
Fixes a potential crash when the PSPDFDocument was deallocated early.
Fixed
Fixes a rare crash with a malformed PDF in the text extractor.
2.14.4 - 23 May 2013
Changed
The annotation resize control now shows guides for aspect ratio and square resizing.
Changed
The outline controller now shows the target page and properly highlights the outline button.
Changed
Improves rendering of rotated stamps/images on rotated pages.
Changed
Allow class overriding for PSPDFSearchResultCell and PSPDFSearchStatusCell.
Changed
The grid control now loads faster for huge documents on iOS5.
Added
Adds some additional safeguards that will now warn if methods of UIViewController/PSPDFViewController are overridden without calling super.
Removed
Removes legacy PSPDFResolvePathNamesEnableLegacyBehavior.
Fixed
Fixes a small memory leak related to stamp annotations.
Fixed
Fixes an issue where the search controller could get into an "empty" state without showing the search bar.
2.14.3 - 21 May 2013
Changed
Allow to override PSPDFOutlineCell via overrideClass:withClass:.
Fixed
Fixes a nasty issue with one-pixel white thumbnail borders on certain page aspect rations.
Fixed
Fixes an edge case where the menu could appear while the PSPDFViewController is being popped from the navigation stack.
Fixed
Fixes an issue with multiple calls to overrideClass:withClass:
Fixed
Fixes 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
Changed
PSPDFViewController 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.
Changed
Improves the thumbnail quality.
Changed
Polyline/Polygon how shows boundingBox resize knobs + knobs for each line end point. Inner points are green.
Changed
When 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.
Changed
Glyph ligature breaks (e.g. ffi) now no longer are marked as WordBreaker.
Changed
Improves default boundingBox calculation for new annotations on rotated PDF documents.
Changed
PSPDFPageRenderer can now be subclassed/changed.
Changed
Improves bounding box calculation for small FreeText annotations.
Changed
Stamps are now properly rendered on rotated pages.
Changed
If a stamp annotation is an appearance stream, PSPDFKit now tries to extract the image when using Copy/Paste.
Changed
Font variant picker now shows font in title and filters name for better display, e.g. 'Helvetivca-Bold' becomes just 'Bold'.
Changed
Several improvements to the PSPDFMultiDocumentController.
Changed
The thumbnail selection background now properly sizes itself based on the negative edgeInsets of the thumbnail cell (= looks better for non-portrait documents)
Changed
Dashed border now factors in lineWidth.
Changed
Improves parsing of certain GoToR Actions.
Changed
Made the color preview in UITableViewCell pixel perfect.
Changed
Improves title detection to filter out white space, now correctly handles cases where the title is missing but ' ' is set instead.
Changed
PSPDFKit is now compiled with -O3 (instead of -Os) and and uses link-time optimization to further improve performance.
Fixed
Fixes placement of the image and signature picker for rotated documents.
Fixed
Fixes 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.
Fixed
Fixes a regression where thumbnail images could become sized wrongly in their aspect ratio under certain conditions for non-uniformly sized documents.
Fixed
Fixes an offset by one error when resolving named destinations for a specific outline action destination type when there are > 500 outline entries.
Fixed
Fixes a potential crash related to the color picker.
Fixed
Fixes a crash related to parsing invalid outline elements.
2.14.1 - 15 May 2013
Added
Add write support for Polygon/Polyline annotations. (In the API, there's no UI for creating yet, but editing the points works)
Added
Add 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!
Changed
The 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".
Changed
FreeText annotation is now correctly rotated on rotated PDF pages and also respects the annotation rotation setting (0, 90, 180, 270).
Fixed
Fix password view state positioning when the keyboard is up and the parent resizes itself.
Fixed
Fixes a potential regression/assertion when the PSPDFViewController was used without a navigationController.
Fixed
Fixes an regression where words with ligatures (like the ffi liagure glyph) would be split into two words with certain encodings.
Fixed
Fixes a race condition that could lead to a warning named ' deallocated while still in use'.
Fixed
Fixes a line annotation serialization issue where line endings would only be serialized if both are set.
Fixed
Fixes an issue for Copy/Paste where preexisting annotations could disappear after they have been copied and edited.
Fixed
Fixes 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
Changed
The text selection delegate pdfViewController:didSelectText:withGlyphs:atRect:onPageView: is now also called for deselection.
Fixed
Fixes an issue where PSPDFProcessor would flatten AND add annotations if kPSPDFProcessorAnnotationAsDictionary was used.
Fixed
Fixes 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.
Fixed
Fixes a small memory leak.
2.13.1 - 9 May 2013
Added
Adds read support for Polygon/Polyline annotations, including support for all line ending types.
Changed
The tinted UIPopoverController subclasses now look much better and now very closely resemble the original including gradients and alpha value.
Changed
PSPDFTextParser now fully complies to NSCoding, so search results can be persisted and cached. (Thanks to ForeFlight!)
Fixed
Fixes 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.
Changed
Initial support for 'Widget' annotations, supports action and rendering. (not yet writable)
Changed
Support for 'File' annotations. Will offer QuickLook support on touch.
Changed
Basic read support for 'Sound' annotations.
Added
Add support for 'Rendition' and 'RichMediaExecute' actions that can control Screen/RichMedia annotations. (video/audio. JavaScript is not supported.)
Changed
Ink/Circle/Ellipse/Line now each save their last used color independently.
Changed
FreeText and other annotation types inside the annotation toolbar now remember the last used color.
Added
Add missing translation for "%d Annotations" and added special case for "%d Annotation" (singular).
Added
Add missing "No Annotations" and "Loading..." state text for the PSPDFAnnotationTableViewController.
Changed
For text selection, the text knob is now prioritized over near annotations.
API
cacheDirectory
in PSPDFDocument has been renamed to dataDirectory
, so that won't be confused with the cache directory setting of PSPDFCache.
Changed
Improves text parser to properly detect word boundaries for documents that use invalid characters for word separation.
Changed
For pspdfkit:// based videos controls are now enabled by default if the option is not set.
Changed
PSPDFProgressHUD now checks if the keyWindow is visible before restoring, fixes an edge case with multiple windows that have rootViewControllers attached.
Changed
PSPDFSearchViewController now has a protocol to communicate with PSPDFViewController instead of owning that object directly.
Changed
PSPDFViewController no longer will change the viewMode to document when the view will disappear.
Fixed
Fixes a rare crash when moving the text selection handle.
Fixed
Fixes an issue with writing the page annotation object on malformed PDFs which could lead to annotations being written but not being displayed.
Fixed
Fixes 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
Changed
The note view controller now will detect links.
Changed
pdfViewController:shouldSelectAnnotation: is now also honored for long press actions.
Fixed
Fixes an issue where annotations sometimes were not parsed correctly with password protected PDFs.
Fixed
Fixes an issue related to checking the annotation cache receipt.
Fixed
Fixes an encoding issue with annotation links that contained spaces.
Fixed
Fixes a potential crash with an PSPDFActionURL with an nil URL.
2.12.11 - 30 Apr 2013
Added
Add new styles for HUD showing/hiding: PSPDFHUDViewAnimationSlide (in addition to the default fade)
Changed
Tapping in the previous/next range on first/last page will now toggle the HUD instead of force-showing it.
Fixed
Fixes 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.
Fixed
Fixes an issue with text extraction for certain PDF encodings.
2.12.10 - 30 Apr 2013
Changed
Improves the Loading... state when there's already content in PSPDFTableAnnotationViewController.
Fixed
Fixes an issue with adding/removing bookmarks.
Fixed
Fixes an issue where fixedVerticalPositionForFitToWidthEnabledMode could lead to off-centered pages.
Fixed
Fixes an issue with search and certain PDF encodings that only happened on release builds.
Changed
PSPDFCatalog: Fixes the map view example with a map:// annotation link.
2.12.9 - 28 Apr 2013
2.12.8 - 28 Apr 2013
Changed
Huge performance and memory improvements for text extraction/search.
Changed
Performance improvements at serializing annotations.
Changed
Memory improvements, especially for large documents. (>5000 pages)
API
useApplicationAudioSession 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.
Added
New brightnessControllerCustomizationBlock in PSPDFBrightnessBarButtonItem.
Fixed
Fixes an issue that could lead to a crash on deallocating certain objects when OS_OBJECT_USE_OBJC was enabled. (Sourcecode, iSO6 only ARC builds)
Fixed
Fixes 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
Changed
Major performance improvements on annotation parsing.
Changed
Outline and annotation parsing has been moved to a thread, the controller has now a loading state until parsing is complete.
Changed
The bookmark controller now supports the pageRange feature, hiding bookmarks that are not accessible.
Changed
Bookmark cells now allow copy.
Changed
Bookmark now also uses the PSPDFAction system to execute actions. (allows links, etc)
Changed
Improves the text parser to better deal with malformed PDF font encodings.
Changed
Improves accessibility localization in the thumbnail grid view cell. (thanks to Dropbox for providing this patch!)
Added
Adds missing localization for text alignment property of free text annotations.
Fixed
Fixes a regression where search table view updates with rapid cancellation could lead to an exception.
2.12.6 - 22 Apr 2013
Changed
FreeText annotations now have a text alignment property (compatible with both Preview.app and Adobe Acrobat)
Changed
Ink annotations now allow setting a fill color (this is an extension to the PDF spec but works fine because we emit an appearance stream)
Changed
Allows subclassing of PSPDFStampViewController.
Changed
Expose the drawView of the PSPDFSignatureController.
Changed
FreeText annotations: Improve parsing of style strings.
Changed
Don't do expensive (xpc) dictionary lookups on older devices. (iPad1)
Fixed
Fixes an issue where the outline controller could show menu items from the text selection view on iPad.
Fixed
Fixes a crash with a missing selector (didReceiveMemoryWarning) on PSPDFDrawView.
Fixed
Fixes a rare crash with parsing certain malformed PDF documents.
2.12.5 - 21 Apr 2013
Changed
FreeText annotations now support fill color (Note: This is only partially implemented in Apple's Preview.app but works fine in Adobe Acrobat)
Changed
FillColor settings now includes transparent (useful for shapes, free text, lines)
Changed
Improves color parsing for FreeText annotations.
Added
Add basic support for Caret annotations.
Changed
Improves rendering of rotated stamps.
2.12.4 - 19 Apr 2013
Changed
Performance improvements for page scrolling.
Changed
Improves support for UIAppearance (e.g. navigation bar images)
Changed
Bookmark and annotation controller now fully respect the tintColor property.
API
PSPDFDocument convenience constructors have been renamed from PDFDocumentWith... to simply documentWith....
Changed
Improves compatibility with certain GoToR PDF actions that don't define a target page.
Fixed
Fixes an issue where pausing a video without controls could fail on iOS5.
Fixed
Fixes an issue where showing multiple videos with autostart enabled could lead to a crash on iOS5.
Fixed
Fixes a small memory leak when drawing stamp annotations.
2.12.3 - 19 Apr 2013
Changed
The 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.
Changed
Setting a different annotationPath in the PSPDFFileAnnotationProvider will remove all current annotations and try to load new annotations from that path.
Fixed
Fixes an issue where in PSPDFTextSearch didFinishSearch: was always called, even when the search was cancelled (instead of didCancelSearch:)
Fixed
Fixes an issue where changing the note icon could result in restoring the previously set note text.
Changed
Titanium: Fixes a bug where under certain conditions useParentNavigationBar
would not work on the first push of the view controller.
Changed
Titanium: Add setAllowedMenuActions (document setting)
2.12.2 - 18 Apr 2013
Changed
PSPDFTabbedViewController learned openDocumentActionInNewTab
, opens a document in a new tab if set to YES (new default)
Changed
pdfViewController:documentForRelativePath: now gets the original path from the PDF action for resolvement.
Changed
Respect alpha for fillColor for FreeText annotations.
Changed
Disable iOS "Speak Selection" menu entries since this does not work. A DTS for this feature is ongoing.
Fixed
Fixes rendering of textAlignment for FreeText annotations.
Fixed
Fixes an issue when pageRange is set with multiple documents and retain documents are completely blocked through it.
Fixed
Fixes PDF generation for different-sized PDFs.
Fixed
Fixes missing update when "Clear All" is used.
Fixed
Fixes a rare race condition on freeing document providers.
Fixed
Fixes a rare issue that could lead to an empty view on loading a document.
2.12.1 - 12 Apr 2013
2.12.0 - 11 Apr 2013
Added
New 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 supporte