You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/migration-guide.md
+41-49Lines changed: 41 additions & 49 deletions
Original file line number
Diff line number
Diff line change
@@ -4,65 +4,24 @@ All migration steps necessary in reading apps to upgrade to major versions of th
4
4
5
5
<!-- ## Unreleased -->
6
6
7
-
## 3.0.0-beta.1
7
+
## 3.0.0
8
8
9
-
### Core library desugaring
10
-
11
-
If you target Android devices running below API 26, you now must enable [core library desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring) in your application module.
12
-
13
-
### Removing JVM dependencies
14
-
15
-
To reduce our depency to the JVM, we no longer use `Date` objects in the toolkit. Instead, we added a custom `Instant` type.
16
-
17
-
You can still translate from and to a `Date` object with `Instant.fromJavaDate()` and `instant.toJavaDate()`.
18
-
19
-
20
-
## 3.0.0-alpha.2
21
-
22
-
### Deprecation of `DownloadManager`
23
-
24
-
The `DownloadManager` introduced in version 3.0.0-alpha.1 has been removed due to the Android Download Manager introducing unnecessary complexities in the toolkit. Instead, we chose to enable apps to manually handle an LCP download with `LcpService.injectLicenseDocument()`.
25
-
26
-
### EPUB footnote pop-ups
27
-
28
-
The EPUB navigator no longer displays a pop-up when the user activates a footnote link. This change was made to give reading apps control over the entire user interface.
29
-
30
-
The navigator now moves to the footnote content by default. To show your own pop-up instead, implement the new callback `HyperlinkNavigator.Listener.shouldFollowInternalLink(Link, LinkContext?)`.
:warning: If you synchronize `Locator` objects between iOS and Android, you should wait for the 3.0 release of the Swift toolkit to upgrade your HREFs at the same time.
52
10
53
-
54
-
## 3.0.0-alpha.1
55
-
56
-
First of all, upgrade to version 2.4.0 and resolve any deprecation notices. This will help you avoid troubles, as the APIs that were deprecated in version 2.x have been removed in version 3.0.
11
+
First of all, upgrade to version 2.4.3 and resolve any deprecation notices. This will help you avoid troubles, as the APIs that were deprecated in version 2.x have been removed in version 3.0.
57
12
58
13
### Minimum requirements
59
14
60
-
If you integrate Readium 3.0 as a submodule, it requires Kotlin 1.9.22 and Gradle 8.2.2. You should start by updating these dependencies in your application.
15
+
If you integrate Readium 3.0 as a submodule, it requires Kotlin 1.9.24 and Gradle 8.6.0. You should start by updating these dependencies in your application.
61
16
62
17
#### Targeting Android SDK 34
63
18
64
19
The modules now target Android SDK 34. If your app also targets it, you will need the `FOREGROUND_SERVICE_MEDIA_PLAYBACK` permission in your `AndroidManifest.xml` file to use TTS and audiobook playback.
65
20
21
+
#### Core library desugaring
22
+
23
+
If you target Android devices running below API 26, you now must enable [core library desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring) in your application module.
The EPUB navigator no longer displays a pop-up when the user activates a footnote link. This change was made to give reading apps control over the entire user interface.
184
+
185
+
The navigator now moves to the footnote content by default. To show your own pop-up instead, implement the new callback `HyperlinkNavigator.Listener.shouldFollowInternalLink(Link, LinkContext?)`.
@@ -242,6 +228,12 @@ Instead, call on your instance of `LcpDialogAuthentication`:
242
228
243
229
You can monitor these events by setting a `View.OnAttachStateChangeListener` on your view. [See the Test App for an example](https://github.com/readium/kotlin-toolkit/blob/01d6c7936accea2d6b953d435e669260676e8c99/test-app/src/main/java/org/readium/r2/testapp/bookshelf/BookshelfFragment.kt#L68).
244
230
231
+
### Removing JVM dependencies
232
+
233
+
To reduce our depency to the JVM, we no longer use `Date` objects in the toolkit. Instead, we added a custom `Instant` type.
234
+
235
+
You can still translate from and to a `Date` object with `Instant.fromJavaDate()` and `instant.toJavaDate()`.
236
+
245
237
### Removal of Fuel and Kovenant
246
238
247
239
Both the Fuel and Kovenant libraries have been completely removed from the toolkit. With that, several deprecated functions have also been removed.
0 commit comments