This repository has been archived by the owner on Aug 12, 2022. It is now read-only.
Releases: readium/r2-navigator-swift
Releases · readium/r2-navigator-swift
2.2.0
Take a look at the migration guide
Added
- A new
translate
EPUB and PDF editing action is available for iOS 15.
Fixed
- Fixed turning pages of an EPUB reflowable resource with an odd number of columns. A virtual blank trailing column is appended to the resource when displayed as two columns.
2.1.0
Take a look at the migration guide
Added
- Support for Swift Package Manager (contributed by @stevenzeck).
- EPUB navigator:
- The EPUB navigator is now able to navigate to a
Locator
using itstext
context. This is useful for search results or highlights missing precise locations. - New
EPUBNavigatorViewController.evaluateJavaScript()
API to run a JavaScript on the currently visible HTML resource. - New
userSettings
property forEPUBNavigatorViewController.Configuration
to set the default user settings values (contributed by @ettore). - You can provide custom editing actions for the text selection menu (contributed by @cbaltzer).
- Create a custom action with, for example:
EditingAction(title: "Highlight", action: #selector(highlight:))
- Then, implement the selector in one of your classes in the responder chain. Typically, in the
UIViewController
wrapping the navigator view controller.
class EPUBViewController: UIViewController { init(publication: Publication) { var config = EPUBNavigatorViewController.Configuration() config.editingActions.append(EditingAction(title: "Highlight", action: #selector(highlight))) let navigator = EPUBNavigatorViewController(publication: publication, config: config) } @objc func highlight(_ sender: Any) {} }
- Create a custom action with, for example:
- The EPUB navigator is now able to navigate to a
- New
SelectableNavigator
protocol for navigators supporting user selection.- Get or clear the current selection.
- Implement
navigator(_:canPerformAction:for:)
to validate each editing action for the current selection. For example, to make sure the selected text is not too large for a definition look up. - Implement
navigator(_:shouldShowMenuForSelection:)
to override the default edit menu (UIMenuController
) with a custom selection pop-up.
- (alpha) A new navigator for audiobooks.
- The navigator is chromeless, so you will need to provide your own user interface.
Deprecated
- Removed
navigator(_:userContentController:didReceive:)
which is actually not needed since you can provide your ownWKScriptMessageHandler
toWKUserContentController
.
Fixed
- Fixed receiving
EPUBNavigatorDelegate.navigator(_:setupUserScripts:)
for the first web view. - r2-testapp-swift#343 Fixed hiding "Share" editing action (contributed by @rocxteady).
2.0.0
Take a look at the migration guide
Deprecated
- All APIs deprecated in previous versions are now unavailable.
2.0.0-beta.2
Take a look at the migration guide
Added
- New
EPUBNavigatorDelegate
APIs to inject custom JavaScript.- Override
navigator(_:setupUserScripts:)
to register additional user script to theWKUserContentController
of each web view. - Override
navigator(_:userContentController:didReceive:)
to receive callbacks from your scripts.
- Override
Fixed
- Optimized performances of preloaded EPUB resources.
2.0.0-beta.1
Take a look at the migration guide
Fixed
- EPUBs declaring multiple languages were laid out from right to left if the first language had an RTL reading
progression. Now if no reading progression is set, theeffectiveReadingProgression
will be LTR.
2.0.0-alpha.2
Take a look at the migration guide
Added
- Support for the new
Publication
model using the Content Protection for DRM rights and the Fetcher for resource access.- This replaces the
Container
andDRMLicense
objects which were needed by the navigator before.
- This replaces the
Fixed
- Layout of right-to–left EPUB.
- Various EPUB navigation issues:
- Prevent breaking initial location when calling
updateUserSettings
too soon. - Fix weird scrolling behavior when double tapping on the edges to turn pages.
- Don't send intermediate incorrect locators when loading a pending locator.
- Prevent breaking initial location when calling
- Optimize positions calculation for LCP protected PDF.
2.0.0-alpha.1
Added
- Support for pop-up footnotes (contributed by @tooolbox).
- This is an opt-in feature. Reading apps can customize how footnotes are presented to the user by implementing
NavigatorDelegate.navigator(_:shouldNavigateToNoteAt:content:referrer:)
. An example presenting footnotes in pop-ups is demonstrated in the Test App. - Footnotes' content is extracted with scinfu/SwiftSoup, which you may need to add to your app if you're not using Carthage or CocoaPods.
- This is an opt-in feature. Reading apps can customize how footnotes are presented to the user by implementing
- In EPUB's user settings:
- Support for hyphenation (contributed by @ehapmgs).
- Publishers' default styles are now used by default.
- Default line height is increased to improve readability.
- JavaScript errors are logged in Xcode's console for easier debugging.
Changed
- Upgraded to Readium CSS 1.0.0-beta.1.
- Two new fonts are available: AccessibleDfa and IA Writer Duospace.
- The file structure now follows strictly the one from ReadiumCSS's
dist/
, for easy upgrades and custom builds replacement.
Fixed
- Jumping to a bookmark (
Locator
) located in a resource that is not already pre-loaded used to fail for some publications. - Touching interactive elements in fixed-layout EPUBs, when two-page spreads are enabled.
1.2.6: Merge pull request #98 from readium/develop
1.2.5: Merge pull request #90 from readium/fixes/podspec-resources
added resources to podspec
1.2.4
podpsec version bump