Skip to content
This repository has been archived by the owner on Jul 29, 2022. It is now read-only.

Releases: readium/r2-lcp-kotlin

2.1.0

23 Sep 13:58
5e3e2b4
Compare
Choose a tag to compare

Take a look at the migration guide

Changed

  • Upgraded to Kotlin 1.5.31 and Gradle 7.1.1.
  • Migrated to Jetpack Room for the SQLite database storing rights and passphrases (contributed by @stevenzeck).
    • Note that the internal SQL schema changed. You will need to update your app if you were querying the database manually.

2.0.0

22 Apr 15:25
f55f46b
Compare
Choose a tag to compare

Take a look at the migration guide

Fixed

  • #267 Prints and copy characters left are now properly reported (contributed by @qnga).

2.0.0-beta.2

26 Feb 15:37
b680df2
Compare
Choose a tag to compare
2.0.0-beta.2 Pre-release
Pre-release

Take a look at the migration guide

Added

  • You can observe the progress of an acquisition by providing an onProgress closure to LcpService.acquirePublication().
  • Extensibility in licenses' Rights model.

Changed

  • The Renew Loan API got revamped to better support renewal through a web page.
    • You will need to implement LcpLicense.RenewListener to coordinate the UX interaction.
    • If your application fits Material Design guidelines, take a look at MaterialRenewListener for a default implementation.
  • Removed dependency on Joda's DateTime in public APIs.
    • You can always create a DateTime from the standard Date objects if you relied on Joda's features in the callers.

Fixed

  • #287 Make sure the passphrase input is visible on smaller devices in the authentication dialog.

2.0.0-beta.1

23 Dec 10:39
b732c0d
Compare
Choose a tag to compare
2.0.0-beta.1 Pre-release
Pre-release

Take a look at the migration guide

Changed

  • Upgraded to Kotlin 1.4.10.

Fixed

  • When acquiring a publication, falls back on the media type declared in the license link if the server returns an unknown media type.

2.0.0-alpha.2

29 Oct 09:40
c1018ca
Compare
Choose a tag to compare
2.0.0-alpha.2 Pre-release
Pre-release

Take a look at the migration guide

Added

  • LCP implementation of the Content Protection API to work with the new Streamer API (contributed by @qnga).
    • It is highly recommended that you upgrade to the new Streamer API to open publications, which will simplify DRM unlocking.
  • Two default implementations of LcpAuthenticating:
    • LcpDialogAuthentication to prompt the user for its passphrase with the official LCP dialog.
    • LcpPassphraseAuthentication to provide directly a passphrase, pulled for example from a database or a web service.
  • LcpService::isLcpProtected() provides a way to check if a file is protected with LCP.
  • All the LcpException errors are now implementing UserException and are suitable for user display. Use getUserMessage() to get the localized message.

Changed

  • The public API got modernized to be more Kotlin idiomatic (contributed by @qnga).
    • All asynchronous APIs are now suspending to take advantage of Kotlin's coroutines.
  • LcpAuthenticating is now provided with more information and you will need to update any implementation you may have.
    • If you copied the default authentication dialog, it's recommended to use LcpDialogAuthentication instead.
  • Publications are now downloaded to a temporary location, to make sure disk storage can be recovered automatically by the system. After acquiring the publication, you need to move the downloaded file to another permanent location.
  • The private liblcp dependency is now accessed through reflection, to allow switching LCP dynamically (contributed by @qnga).
    • You need to add implementation "readium:liblcp:1.0.0@aar" to your build.gradle.
    • LcpService::create() returns null if lcplib is not found.

Fixed

  • Decrypting resources in some edge cases (contributed by @qnga)
  • Issues with LSD interactions:
    • Exceptions handling with renew and return interactions.
    • Presentation of the renew interaction through an HTML page.
  • The timeout of fetching the License Status Document is reduced to 5 seconds, to avoid blocking a publication opening in low Internet conditions.

2.0.0-alpha.1

11 Aug 15:10
ea320f4
Compare
Choose a tag to compare
2.0.0-alpha.1 Pre-release
Pre-release

Added

Changed

Fixed

1.1.3: Merge pull request #58 from readium/develop

11 Jan 01:24
3b5bba4
Compare
Choose a tag to compare

1.1.2: Merge pull request #57 from readium/fixes/debug

28 Dec 19:41
67c88ad
Compare
Choose a tag to compare
dependency update

1.1.1

09 Sep 13:50
Compare
Choose a tag to compare
1.1.1 Pre-release
Pre-release
r2 dependency updates

1.1.0: Merge pull request #48 from readium/fixes/cleanup

26 Jul 17:43
8bcb36f
Compare
Choose a tag to compare
added course and target compatibility