Version 0.0.16 - 31 Jul 2022
- Add support for Calibre 4.X / Python 2
- Add support for Calibre 6.X / QT 6
- Include custom fork of oscrypto until
my PR is merged; this fixes Linux distributions with OpenSSL 3 like Ubuntu 22.04 and Fedora 36.
- Allow authorizing an eReader through USB (experimental) by clicking on the "Authorize eReader over USB" button in the plugin settings
- Ignore fatal HTTP errors and/or missing or broken servers during fulfillment notifications marked as optional
- Drop dependencies python-cryptography, python-rsa and python-pyasn1
- Change the way the WINE executables for Linux are included to prevent false alarms from Antivirus software
- Fix broken notification URLs where no protocol is included (assuming "http")
- Fix loan data for book loans without deviceID
- Fix nonce calculations (yet again)
- Merge #26 to make importing an existing authorization through WINE more reliable
Version 0.0.15 - 15 Dec 2021
- Add support for creating anonymous authorizations. Just click "Create anonymous authorization" instead of "Link to ADE account".
- Add support for AdobeID providers other than Adobe.
- Bugfix for ACSM files from Google Play Books (ACSM files without metadata node).
- Allow linking an anonymous authorization to a new, unused AdobeID account (by clicking the "Connect anonymous auth to ADE account" button).
- Update dependency python-cryptography from 3.4.8 to 36.0.1
- Update dependency python-rsa from 4.7.2 to 4.8
Version 0.0.14 - 11 Dec 2021
- Allow choosing between different ADE versions (2.0.1, 3.0.1, 4.0.3, 4.5.11) when linking an ADE account. 2.0.1 is recommended (and selected by default).
- Allow switching between ADE versions in the plugin settings (same versions as above, plus 1.7.2). 1.7.2 support is experimental, only use if necessary. It's recommended to just stay at 2.0.1.
- If you don't have your AdobeID connected yet (and you have ADE installed on your machine), there's a new button "Import activation from ADE" - this will copy the existing activation from ADE into the plugin without using up one of the 6 activations.
- Fix a race condition bug when importing multiple ACSM files at the same time.
- Fix a bug where authorization would fail with non-ASCII characters in the OS username.
- Pressing Ctrl+Shift+D in the plugin settings removes the existing authorization (like in ADE).
- Add a setting (disabled by default) for verbose debug logs. This can result in sensitive data like keys or book credentials to be included in the logfile.
- Add a setting (disabled by default) to auto-delete the ACSM file after successful import.
- Add a proper error message for ACSMs using a download type other than "simple". If you see that message, please open a bug report.
Version 0.0.13 - November 2021
Various different beta versions released in November 2021. There's no final version of v0.0.13.
Version 0.0.12 - 15 Nov 2021
- Fixes a bug that caused the plugin to not show up in the Calibre Plugin index. You can now download and update this Plugin directly from Calibre.
Version 0.0.11 - 12 Nov 2021
- Ignore SSL errors during FulfillmentNotification. This fixes distributors that have a broken SSL setup on their servers.
- Update & improve the Adobe signature hashing algorithm. Fixes some edge cases that probably don't affect any actual book anyways ...
- Small (potential) bugfix for distributors using the PassHash system (e. g. Barnes & Noble)
- Activation key exports now include the user ID in the (default) filename.
- Fixes a bug where other EPUB- and PDF-capable FileTypePlugins wouldn't run on files created by this plugin.
Version 0.0.10 - 23 Oct 2021
- Due to a stupid bug with the Adobe nonce calculation the plugin stopped working a couple days ago. You will probably receive the error message "int too big to convert" with v0.0.9 and earlier. If so, please update to v0.0.10.
- Try to use Cryptodomex if Crypto is not available. This fixes the error "local variable 'update_account_path' referenced before assignment" on some Linux distributions.
Version 0.0.9 - 4 Oct 2021
- Add support for the Adobe record "FulfillmentNotification". This lets the Adobe server (and the book distributor server) know you've successfully downloaded a book. This is not strictly required to fulfill a book, but it brings the behaviour of this plugin closer to the exact behaviour of ADE and thus reduces the chance of Adobe detecting and blocking this plugin. If you don't like this feature it can be disabled in the plugin settings.
- Add support for the Adobe record "LoanReturn". This lets you return a loaned eBook to the library (only if FulfillmentNotification support is enabled). This only works with books downloaded with v0.0.9 or newer.
Version 0.0.8 - 3 Oct 2021
- Fix some more issues with some PDF files
- Fix for PDF files larger than 4GB
- Fix for PDF or EPUB files larger than available RAM
- Fix for ACSM files not showing up in Calibre's "Add book" dialog
Version 0.0.7 - 1 Oct 2021
- Bugfix for some PDF files
- More debug logs for PDF issues
- Fix locale bug on MacOS
Version 0.0.6 - 28 Sep 2021
- First support for PDF files
- Add functionality to import an existing activation backup from a previous installation
Version 0.0.5 - 27 Sep 2021
- Bugfix: With version 0.0.4, the DeDRM plugin was also executed on imported books if it was installed but has been disabled in the Calibre settings. With this update the DeDRM plugin is only executed if it's enabled.
- Addition: There's now a standalone Python script included in the ZIP file (get_key_from_Adobe.py) that can be used to download the account DER encryption key (for DeDRM) from Adobe's servers without using up one of the six activations.
Version 0.0.4 - 26 Sep 2021
- Make plugin compatible with DeDRM, it's no longer needed to modify the DeDRM plugin to make it work.
Version 0.0.3 - 25 Sep 2021
- First version published on mobileread.
- Code completely rewritten in Python-only, no longer dependant on the Linux-only libgourou library
Version 0.0.2 - 21 Sep 2021 - unreleased development version
- Fix a bug with encryption key export
Version 0.0.1 - 20 Sep 2021
- First version - Linux-only as it still uses the C++ libgourou instead of my own Python implementation.