This page contains the release notes for SDK versions of Pugpig, and links to the upgrade guides. Before any update to the Pugpig framework please ensure you have backed up your code and project. See the quick links below for all releases:
- Pugpig 2.8.0 (Release date: 10/11/2016)
- Pugpig 2.7.0 (Release date: 24/05/2016)
- Pugpig 2.6.0 (Release date: 07/10/2015)
- Pugpig 2.5.0 (Release date: 30/01/2015)
- Pugpig 2.4.0 (Release date: 05/10/2014)
- Pugpig 2.3.0 (Release date: 21/07/2014)
- Pugpig 2.2.1 (Release date: 19/05/2014)
- Pugpig 2.2.0 (Release date: 19/04/2014)
- Pugpig 2.1.0 (Release date: 17/01/2014)
- Pugpig 2.0.2 (Release date: 09/10/2013)
- Pugpig 2.0.0 (Release date: 28/08/2013)
- Pugpig 1.8.0 (Release date: 01/05/2013)
- Pugpig 1.7.0 (Release date: 05/03/2013)
- Older (pre 2013)
- iOS8 minimum supported version
- Optional debug logging
- Full-screen image viewer chooses a status bar colour that will be visible on the set background colour
- Full-screen image viewer doesn't try to show a figure tag that contains no images
- Full-screen image viewer supports upwards fling to dismiss
- Full-screen image viewer caption fixes
- Cancelling a download also cancels any pending unzip operations
- Unzipping only happens when the app is in the foreground to save battery from background pushes
- Unzipping now recovers correctly, even if the app is killed during an unzip
- Background downloader reliability improvements
- Force a timeout on the background downloader if it appears to be blocked for a long time
- Download errors now include failing request URL
- Allow background downloader session timeout configuration
- Improve page control touch responsiveness and tweaked horizontal scroll detection sensitivity
- Pause snapshotter when page control is touched to make app feel more responsive
- Ability for a document to have a different per-store product id and internal id
- Ability to suppress creation of document picker controls
- Scrapbook can now clear its own rendering state
- Font resizing script insertion more robust
- KGPushNotificationProviderDelegate can now forward didRegisterUserNotificationSettings
- Unique install id now being sent with IAP purchases; this will help associate store purchases with any 3rd party sign-ins
- Don't allow auth token renew loop - a failed renew logs you out
- Don't report an expired subscription as a login error
- Extended datasource now exposes page links
- Notification added to report when a datasource is ready during a download (ATOM only)
- Notification added to report when an unzip completes
- Make search highlight colours public (Porter wants it and it's a sensible request)
- Unzips no longer double-unescape filenames
- Clearing a document is much faster
- Limit progress callbacks to 1 per second per issue
- Improve download performance - more processing happening in background thread
- Use URL sessions instead of URL connections
- Remove Newsstand support (as recommended by Apple)
- Atom-based zip downloader now downloads files based on feed order
- Ability to change scheduled download order when using the internal downloader
- Improvements made to unzip memory usage
- Support empty product prefix
- Ensure OPDS feed correctly follows redirects
- Prevented repeats of download of same file in single session
- Improvements to Scrapbook functionality
- Removal of deprecated sharing and KGDocumentPicker classes
- Page snapshot fix when duplicate pages exist
- Background push now works correctly when Newsstand is disabled but background download is enabled
- Added option to limit the number of search results per page
- Updated internal Browser and Image view controllers to use updated iOS 7 auto-rotation calls
- iOS 8 / Xcode 6 compatible template with 64 bit support
- Layouts simplified, adding support for arbitrary device sizes
- Updates to the UI given an update to be more in line with iOS 8 design guidelines
- Converted to use ARC
- Converted to use asset catalogues
- Ability to change a document issue date and re-order
- Ability to set annotation and search highlight colours - see guide
- Ability to clear an edition on all devices (from the server)
- Search icon in search control now theme-able
- Support for ZIP enclosures in ATOM feed
- Support for preflight HTTP auth parameters (basic credentials in auth request)
- Removed the default UA push provider*
- Improved search handling
- Improved fail open auth handling on HTTP errors to prevent subscribers being logged out
- Improved error messaging to expose more useful responses
- Fixed issue with background downloading
*Download the provider separately now and instructions are available for supported services including Urban Airship and Parse. See our Third Party - Push section for more information.
- The background downloader services (using the NSURLSession APIs) may cause occasional crashes in your applications due to an iOS bug. This bug has been reported to Apple, but is still unfixed as of iOS 8.1.2. There is no known workaround. For this reason, Pugpig does not use the background downloader services by default. You can explicitly enable them as explained here.
In this release we have fixed a number of iOS 8 and Xcode 6 related issues however at this stage have decided to only released the library files for anyone with existing SDK apps to update their code with.
- n/a (template and installer not provided in this version)
- iOS 8 / Xcode 6 updates
- Support for 64 bit architectures
- Generic push integration
- Support for new iOS 8 push notification interfaces
- Support for per edition page model (paning & scrolling)
- Ability to authorise using HTTP headers / header-based auth
- Pugpig Auth Provider extended to support global auth credential
- Improved Search Control - can show page titles if using extended datasource
- Added more detail in default user-agent string
- New modules available; Pugpig Promos and Shopping
The 2.3.0 Pugpig template now runs on Xcode 6 bypassing the "deleting workspace" issues. However, if you wish to submit apps you should stay on Xcode 5 until the next version is released.
iOS 6 is deprecated; our minimum suggested build target is iOS 7.
- Notification when OPDS updates, giving you the opportunity to extract custom information from the OPDS catalog.
- Pugpig authorisation now supports access to custom fields provided by your authorisation server
- Search control exposes currently active search term
- Extend internal browser to handle pre-downloaded content
- Updated default "no connection" error messages (they specifically referred to 3G)
- Fixed bug in the linear document picker that failed to display a delegate progress bar unless you also had a delegate button
- Document picker performance improvements
- Scrapbook improvements
- Search control layout fixes
- Fixed problems with Pugpig authorisation losing login state information if you were offline
- Updated build target to iOS 7.0
This is a drop-in framework replacement.
Pugpig (2.2.1 rev 30effad)
- extend cache to allow duplicating files; this improves the scrapbook performance
- added the ability to allow inline media playback within content
- fixed possible crash in paned content when rotating on the last page of an edition
- improved HTML5 manifest file detection
- KGPagedDocControl's didLoad events now always include a string, even when the content is blank
- improved ability to style KGSearchControl
- improved (and fixed a potential crash in) the markup search matching algorithm
- internal asset symbols have been renamed to avoid conflict with the Parse analytics library
- added the ability to determine the current version of the framework at runtime
- template uses merged framework
Pugpig (2.2 rev 8e95a7b)
- merge all frameworks (Pugpig, PugpigPro and PugpigNetwork) into a single Pugpig framework, now called Pugpig SDK
- ability to set the background colour on individual TOC cells
- detect when iTunes IAP is disabled and display a more appropriate error message
- iTunes IAP now detects when your network is unavailable and displays a more appropriate error message
- added ability to move pages to a scrapbook
- iOS 7 compatibility changes
- support for iOS 7 background downloading service
- when clearing a document, ensure that any cached data sources are released
- page swipe vs. scroll sensitivity is now configurable
- extend Pugpig Authorisation service to support multiple simultaneous authorisers.
- improved download progress estimation
- improved logging: detect missing package root
- ensure a download fails if downloaded zips are corrupted or truncated
- http header parsing is now case-insensitive, as per spec
- grid picker uses more sensible defaults on smaller devices
- detect circular download references (where two files request each other) and ensure download completes
- include a default “section” category schema for ATOM feeds (http://schema.pugpig.com/section)
- fix bugs in search that would cause it to fail with certain malformed HTML tags
- document data sources now include additional metadata (including page type and unique id for a page)
- fix bug that would sometimes cause the incorrect page to be displayed
- update to use new document picker framework
Pugpig (2.1 rev b0a57dd)
- new document picker framework, with included grid-style document picker
- improvements to the built-in browser control
- support for meta-data in the OPDS feed: categories and links
- Facebook and Twitter sharing now allow sharing even if there's no share URL or image (you can just share a title)
- added ability to pause the snapshotting system programatically
- full-screen image viewer's active page can now be set or monitored
- stricter checking when downloading zip files to stop Pugpig accepting broken zips
- try to use less memory on less powerful devices (like the iPad 1)
- improve download performance
- full-screen image viewer lets you set a maximum size for a caption
- fixed issue where document picker was showing lower-resolution covers on retina devices
- sharing providers now have a completion callback, so you can tell when the user is done sharing
- fixed issue where thumbnails wouldn't redraw correctly after a rotation
Updates for iOS 7
- no automatic scrollView inset
- status bar change
Pugpig Core, Pro and Network (rev a8c044c 2.0.2)
Updates for iOS 7:
- fixed issue with search control not jumping to results
- search control appearance update
- fixed issue with annotation toolbar
- fixed display issue upon rotation with paned content
As of Pugpig 2.1.0, iOS 5 will be deprecated.
- Change view controller initialization order to support iOS 7.
Pugpig Core (2.0 rev 19284)
- improved page swipe detection
Pugpig Pro (2.0 rev 19208)
- email sharing now shows even when no email client is configured; you're presented with the choice of setting one up
Pugpig Network (2.0 rev 19246)
- improve performance when downloading many files
- improve memory use when unzipping large files
- internal downloader can now control a number of simultaneous downloads
- OPDS feeds can now mark an issue as deleted
- internal downloader can now satisfy requests from local filesystem cache when appropriate
- added a standard Pugpig authorisation provider
- fixed content type on iTunes receipt purchase checking
- add ability to ignore online status check when downloading
Upgrading 1.7.0 - 1.8.0
Pugpig Live 1.8.0 no longer supports armv6 and LLVM2, and has a minimum build target of iOS 5.0.
- Fixed a problem with the thumbnail control that resulted in a single pixel gap between the control and the screen edge.
- Added Facebook sharing option.
- Enable image preview pinch-to-zoom by default.
Pugpig Core (1.8 rev 17183)
- Added ability to internationalize strings.
- Support for laying out wide pages vertically.
- Added option to limit thumbnail preview memory use.
Pugpig Pro (1.8 rev 17101)
- Add support for Facebook sharing.
- Fixed possible flicker that could appear on very wide pages.
- Fixed a licensing bug that caused the license dialog to show even though the license was valid.
- Default font scaling now uses rems rather than ems.
- Pinch-to-zoom support in image view gallery.
- Improved search to ignore contents of style/script tags.
Pugpig Network (1.8 rev 17234)
- Improve disk usage by clearing temporary newsstand files more aggressively.
- Improve disk usage by removing unused zip files once they have been unpacked,
- Fixed a newsstand bug that could result in a document locked in the “downloading” or “authorising” state.
- The document picker now loads covers on demand, automatically scales large covers and limits the number of covers in memory at any one time.
- The document picker can now be configured not to snap to the nearest cover.
- The document picker allows more flexible customisation using
- Fixed bug that could break zip files that contained files with spaces.
- Added ability to clear document credentials.
Upgrading version 1.6.0 - 1.7.0
armv6 support and LLVM2 support are now deprecated and will no longer be supported in Pugpig 1.8.0.
- Font size changes now reset the document rendering state to handle number of panes changing.
- Added support for armv7s architectures.
Pugpig Core (1.7 rev 12858)
- Added support for setting the snapshot quality.
callbackWhenSnapshotFinishedsnapshot callback will only append
()to your function name if it doesn't already end with
), allowing you to include parameters in your callback.
- Fixed a problem with setting thumbnail default images dynamically.
Pugpig Pro (1.7 rev 12859)
- Added title support to EPUB datasource.
- The image view now supports an optional a position indicator.
- Fixed problem with internal highlighter (used by search and annotations) that could cause the view to move to the wrong position.
- Improve escaping of search results.
- Added support for default selected state for the table of contents.
- Added support for per-item heights in table of contents.
Pugpig Network (1.7 rev 12862)
- Asynchronous downloader does a better job of detecting HTTP errors.
- More robust handling of background document backing store removal, including when Newsstand removes the backing store while the app is running.
- Fixed a problem with secured Newsstand background downloading that could cause the download to fail.
- Document picker supports delegating UI (button, progress bar, label) for the focused item.
- Added support for changing the document picker size on rotation.
Upgrading version 1.5.0 - 1.6.0
- Disabled the fade effect when showing/hiding the table of contents (wasn't consistently applied and didn't work very well).
- Removed unneeded enableToolbar method from the document view controller.
Pugpig Core (1.6 rev 8678)
- Added support for extending the web view's edit menu.
- Improved ability to correctly detect clicks vs IFRAME/AJAX loads.
- Made the pageNumber and fractionalPageNumber properties on the thumbnail control fully observable.
- Threaded writes in the disk image store could result in out of date snapshots.
- The background colour wasn't always correctly set when loading web pages in the background.
Pugpig Pro (1.6 rev 8679)
- Improved variable pane partitioning implementation with better support for media queries and cached widths.
- Added a delegate to the table of contents control allowing greater customisation.
- Fullscreen image viewer now opens and closes with pinch gestures.
- Default font sizing script now uses the fontSize style rather than webkitTextSizeAdjust for compatibility with Android.
Pugpig Network (1.6 rev 8708)
- Support for replaceable caching implementations with a new default file url cache.
- Added an informal download delegate to KGDocumentManager for modifying download requests.
- Improved smoothness in the document picker control.
- Document picker sometimes selected the wrong document by default.
- Fixed potential bug when adding a document back shortly after deleting it.
Pugpig Live 1.5.1
Pugpig Pro (1.4 rev 7043)
- Fixed issue in licence manager when app started from a newsstand push while device was locked
Pugpig Live 1.5.0
- Creating an app without a status bar is no longer supported
Pugpig Core (1.4 rev 6706)
- Fixed a rounding error that would cause a scaled web view to be unscrollable
- The fragmentScrollOffset property for offsetting a fragment URL from the top of the screen wasn't working
- Thumbnail control now builds thumbnails in a separate thread in an attempt to improve responsiveness
- Disk image store now saves to disk in a background thread in an attempt to improve responsiveness
- Background thumbnail loader now prioritises pages closest to the navigator focus rather than the active page in the main view
- Thumbnail memory manager now tries to keep visible images in memory
- Optimised thumbnail control to load images only when necessary
- Thumbnail default fallback colour now white rather than black
Pugpig Pro (1.4 rev 6707)
- Figures with predefined IDs can now appear in image gallery
- Figures must be removed from slideshow list by adding a nozoom data attribute instead of using a class
- Don't allow sharing action sheet to be popped up repeatedly over itself
Pugpig Network (1.4 rev 6708)
- Document deletion moved into a background thread to improve responsiveness
- Added a maximumDocuments property to document manager to help manage space
- Document count returned by addDocumentsFromOPDSFeed no longer includes documents that are auto deleted
- Covers were being unnecessarily downloaded for “deleted” documents
- Table of contents
- Sharing via email or Twitter
- Image viewer supports multiple images
- Updated retina display assets
Pugpig Core (1.3 rev 5858)
- Meta tag that disables the snapshotter while the specific page that uses it is in the foreground
- Optimised snapshot loading
- Remembers the scroll position when refreshing the current page
- Smoother transition for large page jumps
- Improved performance for retina display
Pugpig Pro (1.3 rev 5861)
- Finalised image viewer with slideshow support
- Table of contents
- Email sharing
- Twitter sharing
- Bugfix in OPDS parser
- Now preserving the case of annotated text
- Bugfixes in annotation support
- Bugfixes in search
Pugpig Network (1.3 rev 5868)
- Support changing the auth state of a document, e.g. from free to paid
- Remember position in the document picker when returning from an issue
- Bugfix in Newsstand detection
Pugpig Live 1.3.0
- Document picker improvements
- Include subscription and restore buttons
- Ability to remove old documents
Pugpig Core (1.2 rev 3956)
- Bugfix when refreshing content
Pugpig Pro (1.2 rev 4051)
- More reliable image viewer swiping and tapping
- Automatically enable image viewer for all figures without a nozoom class
- Image copyright shown vertically on image viewer
- Clear highlighted search results when search bar cleared
Pugpig Network (1.2 rev 5062)
- Added iTunes Restore Purchases functionality
- Issue selector supports ordering covers so that the latest issue appears last
- Bugfixes with Document Picker
- Bugfixes with Atom based downloader succeeding on second attempt without correcting the problem
Pugpig Live 1.2.0
- No template updates - only library changes.
- Pugpig Core (1.2 rev 3893)
- Pugpig Pro (1.2 rev 3894)
- Pugpig Live (1.1 rev 3898)
Pugpig Live 1.1.0
- First release of the Pugpig Live template.
- Pugpig Core (1.1 rev 3731)
- Pugpig Pro (1.1 rev 3743)
- Pugpig Live (1.1 rev 3744)