Skip to content

Releases: crocodilestick/Calibre-Web-Automated

Version 3.1.4 – Critical Security Fix, New Metadata Provider, ACSM Support and more! 🔐📚✨

12 Aug 08:38
Compare
Choose a tag to compare

Caution

Critical Security Fix 🔒

Fixed a critical vulnerability inherited from CW that could expose sensitive configuration data. Please update as soon as possible to ensure your instance remains secure.

New Features / Changes ✨

  • Added Deutsche Nationalbibliothek (German National Library) as a Metadata Provider — thank you to UsamaFoad & GelbPhoenix for the original work! Fixes Feature Request #376
  • Added ACSM format support (PR #498) — better compatibility for workflows involving Adobe DRM acquisition files
  • Documented customize.py.json usage (PR #498) to make plugin customization easier and clearer
  • Added USER_AGENT constant
  • Added improved error handling to hardcover.py (originally provided by UsamaFoad to AutoCaliWeb)
  • Startup sequence cleanup: folded init-calibre-web-config into cwa-init and adjusted order so cwa-init runs first, followed by svc-calibre-web-automated, improving reliability on boot
  • Made it possible to test hardcover.py through the CLI without CPS to vastly aid further development & future testing

Now available via the GitHub Container Registry! 🚢💚

  • Images will now also be published to the GitHub Container Registry (GHCR) in addition to Docker Hub, making pulls faster and more reliable for some users
  • To do so, simply change the image tag in your docker-compose to ghcr.io/crocodilestick/calibre-web-automated:latest

Heads‑up 📝

  • We discovered that stripping the ABI tags from Qt6 during image creation (to extend compatibility with older kernels) can break parts of Calibre functionality (e.g., working with PDFs). We’re evaluating the best approach here to maximize stability and compatibility — more updates to follow.

Bugfixes 🐛

  • Fixed 500 Internal Server Error — closes #504
  • Fixed “Unable to refresh library” — closes #499
  • Minor refactors and general stability improvements
  • Fixed Health Check (endpoint /health)
  • Changed STABLE_VERSION & INSTALLED_VERSION constants so that they're set once at init by the cwa-init service to avoid potential rate-limiting issues and potential slight performance impacts of previous solution

Translations 🌍

  • Updated Slovenian translations — hvala! 💙

Thanks 🙏

  • Huge thanks to everyone who reported issues, tested, and contributed code this cycle — in particular UsamaFoad and GelbPhoenix for their work on the DNB provider, and all reviewers on PR #498.

Supporting the Project ❤️

If CWA makes your library life easier and you’re in a position to support development, tips are appreciated and go straight back into testing hardware and tooling:

Support on Ko‑fi

Version 3.1.3 - Theming is now unique to each user, new Translations System, Major Improvements to Dark Mode on Mobile and more! 🎨🌍🦚

10 Aug 17:30
Compare
Choose a tag to compare

New Features / Changes

Theming is now unique to users, no longer server-wide! ☀️/🌑 🎉

  • In CW & pervious versions of CWA, the theming of the Web UI has always been Global, which has often been inconvenient for those with servers with lots of users as it could result in the theming of the Web UI frequently and unexpectedly changing for everyone

  • Well no more! 🎉

  • As of V3.1.3, the theming of the Web UI is no longer global and is set per User Settings!

  • Users can of course still change Theme using the button in the Navbar butcan now also do so on their profile page

  • Using the Switch Theme element in the Navbar now also keeps you on the page you're on instead of redirecting you to the index every time

  • The old option for Admins to set themes in the UI Config page of the Admin panel has been changed to "Set Default Theme", giving admins the ability to set which theme will be enabled by default for new users and Guest users (if enabled)

  • COMING SOON: Ability for users to select their preferred accent colour for the UI 🎨

New Translations System 🌐 🫶

  • As of V3.1.3, users using CWA in a language other than English will be, by default, notified if the translations for their chosen language are currently incomplete, with a link to the CWA Wiki Translations Page where they can quickly and easily contribute the missing translations if desired (notifications can be disabled in the CWA Settings)

  • I've tried to catch as many CWA specific strings that were previously untranslatable as possible but if you spot any I've missed, please let me know / submit a PR / Issue!

  • Added workflow to automatically update the translations status of each language on the translations page of the CWA Wiki

  • Hopefully with these changes, we can make CWA accessible to as many different people in as many different languages as possible! 🌍❤️

CWA Translation Notification System

Major Mobile Dark Mode Overhaul 🦚

  • Lets be honest, the Mobile Dark Mode Experience we inherited from stock Calibre-Web was ROUGH

  • With V3.1.3 I've done my best to overhaul the experience to be much more enjoyable and visually pleasurable on mobile

  • Part of this overhaul includes the addition of an option to CWA Settings page to disable the Dynamic Background Blur Backgrounds. When enabled (default), mobile dark mode users have the same cover incorporated background blur effect they have on desktop view however this can be computationally expensive depending on any given devices performance, hence the option to disable in the settings.

  • See a few examples of the many improvements made below:

CWA Version 3.1.3 - Mobile Dark Mode Overhaul - Homepage
CWA Version 3.1.3 - Mobile Dark Mode Overhaul - Book View
CWA Version 3.1.3 - Mobile Dark Mode Overhaul - Edit Book View
CWA Version 3.1.3 - Mobile Dark Mode Overhaul - Tablet Book View

Bugfixes 🐛

  • Fixed Issue #496 - book date not updated when overwriting book
  • Fixed Issue #463 - KoSync webpage shows URL as http:///kosync but plugin is only expecting http://
  • Fixed #470 - Incorrect link to KOReader sync server
  • Fixed #473 - Error when updating metadata
  • Fixed #475, #466 - No option for other languages
  • Fixed edit users table in dark mode
  • Fix dark mobile book view & dark login screen css
  • Fixed profile picture positioning mobile
  • Fix Kobo auth window being rendered off screen in dark mode
  • Fix custom profile picture not being shown in mobile view

Misc ✨

  • Created scripts to automatically manage the SPDX headers of project files and ensure contributors to both CW & CWA are properly recognized for their work
  • REFACTOR - Moved root scripts to scripts dir
  • Updated to latest Calibre Version V8.8.0
  • Upload permissions are no longer required to upload/change book covers, only edit permissions
  • Removed iOS reference kosync_plugin.html as unfortunately, no good KoReader solutions exist on iOS
  • Added CWA version to About page
  • Disabled ability to reset calibre-library location in DB Config settings to prevent user confusion and added an explanation about how CWA handles libraries
  • Fixed spacing in admin page headings

Version 3.1.2 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

02 Aug 22:28
Compare
Choose a tag to compare

Minor Update - Version 3.1.2

Huge Refactor of the CWA Repo! 🎉

  • Before today, CWA would grab the files from the latest releases of janeczku/calibre-web & linuxserver/docker-calibre-web from their repos to build on top of
  • This meant that the CWA repo itself only contained only the files added or required to be modified to provide all the extra functionality it delivers over stock CW
  • While this worked for a while, it was an admittedly unconventional way to do things, stemming from the project's origin as a mod for calibre-web, and was confusing and unintuitive to new devs wanting to contribute to the project
  • Therefore I'm pleased to announce that as of this refactor, CWA's build & development process is much more conventional, all the files CWA requires to function are now here in the repo, with the only exceptions being the Calibre & Kepubify binaries that are grabbed when building the docker images 🎉

New Changes / Features 🌅

  • Added m4b, m4a, and mp4 Audiobook support for ingest, with metadata scraping. Tested with m4b and m4a by @smevawala in #271
  • Added health check from PR #452
  • Changed colour space from RGB to SRGB to prevent dark covers

Bugfixes🐛

  • Fix for #427 by @alva-seal in #447
  • Update init.py - fix mime types for CBZ, CBR, CBT by @zikasak in #460
  • Fixed wrong Server URL value displaying in kosync_plugin.html
  • Fixed Series not being fetched from Hardcover when fetching metadata
  • Fixed filterhead elements being incorrectly positioned
  • Fixed #456 - Cover grids becoming misaligned
  • Fixed Downloaded Books page being unusable in Dark mode
  • Fixed styling of Categories, Authors. Publishers, Ratings & File Formats pages
  • Fixed table styling in Book List in Dark Mode
  • Fixed chracter selection element crowding other elements on smaller screens
  • Fixed add to shelf elements positioning
  • Fixed Fixes #455 Add to shelf in dark theme - list too short

New Contributors 👋


Version 3.1.0 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

"Calibre-Web Automated is extremely lucky and privileged to have such a large and vibrant community of people who support, enjoy and contribute to the project. The bulk of the new features and bugfixes this update brings were created by the best and brightest of our community and I want to celebrate that and their work here in the hope that our community only continues to grow!" - CrocodileStick

Release V3.1.0 Changelog

Major Changes 🚀

NEW: Split Library Support 💞

  • As promised, all CWA features are now fully compatible with Calibre-Web's Split Library Functionality
  • This enables users to store their Calibre Library in a a separate location to their metadata.db file
  • To configure this, in the Admin Panel, navigate to Edit Calibre Database Configuration -> Separate Book Files from Library
    • The use of Network Shares (especially NFS) with this functionality is discouraged as they sometimes don't play well with CW & CWA's SQLite3 heavy stack. Many users use network shares without issues but there aren't enough resources to support those who can't get it working on their own

NEW: Hardcover API Integration 💜📖

  • Hardcover is now officially not only available as a Metadata Provider, but using Hardcover's API, Kobo Shelves & Read Progress can now also be synced to a user's Hardcover account!

  • Current workflow is scraping a book by title, you can then use the resulting hardcover-id identifier to search for editions of that book, by searching "hardcover-id:". Edition results are filtered to exclude Audiobooks editions, and sorted by ebook then physical book.

  • If a shelf in CWA is selected for Kobo sync, when a book with id and edition identifiers is added to the shelf, it will also be added to Hardcovers want to read list. As the book is read on the Kobo device progress is synced to Hardcover as well when pushed to CWA.

  • To use Hardcover as a Metadata Provider, simply provided a Hardcover API Token in your docker-compose under the HARDCOVER_TOKEN Environment Variable

    • To enable Kobo sync, a Hardcover API Token must be provided for each user in each user's respective Profile Page
  • Thanks to demitrix! <3

NEW: Greatly Improved Metadata Selection UI 🎨

  • Demitrix was really on a roll the last couple of months and also contributed some really cool functionality to the Metadata Selection UI

CWA New Metadata Fetch UI - V3.1.0

  • Much more Elegant & Readable UI, both on Mobile & on Desktop

    • Improved CSS for the Fetch Metadata interface—making it easier and clearer for you to review and select metadata sources.
  • Individually Selectable Elements

    • Say goodbye to having to having all of your book's metadata overwritten simply becuasse you wanted a better looking cover!
    • As of V3.1.0, all metadata elements can be individually updated from multiple sources instead of the only option being to take everything for a single source!
  • Visual Quality Comparison Between the Cover Your Book Already Those Available from Metadata Providers

    • Looking for a specific cover but not sure if the image file is low quality or not? As of V3.1.0, the resolution of cover images is now displayed on the bottom right corner of the preview, the background of which is colour-coded to indicate whether the available cover is of greater, lower or equal quality to the one already attached to the ebook!
  • Thanks to demitrix for their contributions to this! <3

NEW: KoReader Sync Functionality! 📚🗘

  • CWA now includes built-in KOReader syncing functionality, providing a modern alternative to traditional KOReader sync servers!
  • Universal KOReader Syncer: Works across all KOReader-compatible devices, storing sync data in a readable format for future CWA features
  • Modern Authentication: Uses RFC 7617 compliant header-based authentication instead of legacy MD5 hashing for enhanced security
  • CWA Integration: Leverages your existing CWA user accounts and permissions - no additional server setup required
  • Easy Installation: Plugin and setup instructions are available directly from your CWA instance at /kosync
  • Provided by sirwolfgang! <3

NEW: Support for the Latest Versions of Calibre, even on devices with older Kernels! 🆕🎉

  • ABI tag from the extracted libQt6* files removed to allow them to be used with older kernels
  • Adds binutils to install strip for calibre-included Dockerfile.
    strip libQt6*.so files of the ABI tag so that they can work with older kernels (harmless for newer kernels).
    These libraries appear to still contain fallbacks for any missing syscalls that calibre might use.
    add .gitattributes to enforce LF checkout on .sh files (useful for those who build on windows)
  • Thanks to these changes, CWA now has much greater compatibility with a much wider range of devices & is able to keep up to date with the latest Calibre Releases! 🎉
  • Provided by FennyFatal <3

NEW: Calibre Plugin Support (WIP) 🔌

  • Users can now install Calibre plugins such as DeDRM
  • The feature is still a work in progress but users with existing Calibre instances can simply bind their existing Calibre plugins folder to /config/.config/calibre/plugins in their docker-compose file

NEW: Bulk Add Books to Shelves 📚📚📚

Contributed by netvyper, you can now select multiple books from the book list page and add them to a shelf in one go!

  • New "Add to Shelf" button in bulk actions on the book list.
  • Modal dialog lets you pick your shelf.
  • Backend checks for permissions, duplicates, and provides clear success/error feedback.

NEW: Better Docs Cometh - The Birth of the CWA Wiki 📜

  • The documentation for CWA while for many enough, could really be better in helping as many users find the answers and information they need as quickly as possible
  • Therefore We have started work on the CWA Wiki to strive towards this goal!
  • While still very much a work in progress, submissions for pages, edits ect. are open to the community so if you stumble across something that se...
Read more

Version 3.1.1 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

01 Aug 15:26
Compare
Choose a tag to compare

Minor Update - Version 3.1.1


  • Fixed Issue #444 that broke Metadata Fetching for users with Google Scholar enabled
  • Merged #445 to fix errors when attempting to create custom column using dates

Version 3.1.0 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

"Calibre-Web Automated is extremely lucky and privileged to have such a large and vibrant community of people who support, enjoy and contribute to the project. The bulk of the new features and bugfixes this update brings were created by the best and brightest of our community and I want to celebrate that and their work here in the hope that our community only continues to grow!" - CrocodileStick

Release V3.1.0 Changelog

Major Changes 🚀

NEW: Split Library Support 💞

  • As promised, all CWA features are now fully compatible with Calibre-Web's Split Library Functionality
  • This enables users to store their Calibre Library in a a separate location to their metadata.db file
  • To configure this, in the Admin Panel, navigate to Edit Calibre Database Configuration -> Separate Book Files from Library
    • The use of Network Shares (especially NFS) with this functionality is discouraged as they sometimes don't play well with CW & CWA's SQLite3 heavy stack. Many users use network shares without issues but there aren't enough resources to support those who can't get it working on their own

NEW: Hardcover API Integration 💜📖

  • Hardcover is now officially not only available as a Metadata Provider, but using Hardcover's API, Kobo Shelves & Read Progress can now also be synced to a user's Hardcover account!

  • Current workflow is scraping a book by title, you can then use the resulting hardcover-id identifier to search for editions of that book, by searching "hardcover-id:". Edition results are filtered to exclude Audiobooks editions, and sorted by ebook then physical book.

  • If a shelf in CWA is selected for Kobo sync, when a book with id and edition identifiers is added to the shelf, it will also be added to Hardcovers want to read list. As the book is read on the Kobo device progress is synced to Hardcover as well when pushed to CWA.

  • To use Hardcover as a Metadata Provider, simply provided a Hardcover API Token in your docker-compose under the HARDCOVER_TOKEN Environment Variable

    • To enable Kobo sync, a Hardcover API Token must be provided for each user in each user's respective Profile Page
  • Thanks to demitrix! <3

NEW: Greatly Improved Metadata Selection UI 🎨

  • Demitrix was really on a roll the last couple of months and also contributed some really cool functionality to the Metadata Selection UI

CWA New Metadata Fetch UI - V3.1.0

  • Much more Elegant & Readable UI, both on Mobile & on Desktop

    • Improved CSS for the Fetch Metadata interface—making it easier and clearer for you to review and select metadata sources.
  • Individually Selectable Elements

    • Say goodbye to having to having all of your book's metadata overwritten simply becuasse you wanted a better looking cover!
    • As of V3.1.0, all metadata elements can be individually updated from multiple sources instead of the only option being to take everything for a single source!
  • Visual Quality Comparison Between the Cover Your Book Already Those Available from Metadata Providers

    • Looking for a specific cover but not sure if the image file is low quality or not? As of V3.1.0, the resolution of cover images is now displayed on the bottom right corner of the preview, the background of which is colour-coded to indicate whether the available cover is of greater, lower or equal quality to the one already attached to the ebook!
  • Thanks to demitrix for their contributions to this! <3

NEW: KoReader Sync Functionality! 📚🗘

  • CWA now includes built-in KOReader syncing functionality, providing a modern alternative to traditional KOReader sync servers!
  • Universal KOReader Syncer: Works across all KOReader-compatible devices, storing sync data in a readable format for future CWA features
  • Modern Authentication: Uses RFC 7617 compliant header-based authentication instead of legacy MD5 hashing for enhanced security
  • CWA Integration: Leverages your existing CWA user accounts and permissions - no additional server setup required
  • Easy Installation: Plugin and setup instructions are available directly from your CWA instance at /kosync
  • Provided by sirwolfgang! <3

NEW: Support for the Latest Versions of Calibre, even on devices with older Kernels! 🆕🎉

  • ABI tag from the extracted libQt6* files removed to allow them to be used with older kernels
  • Adds binutils to install strip for calibre-included Dockerfile.
    strip libQt6*.so files of the ABI tag so that they can work with older kernels (harmless for newer kernels).
    These libraries appear to still contain fallbacks for any missing syscalls that calibre might use.
    add .gitattributes to enforce LF checkout on .sh files (useful for those who build on windows)
  • Thanks to these changes, CWA now has much greater compatibility with a much wider range of devices & is able to keep up to date with the latest Calibre Releases! 🎉
  • Provided by FennyFatal <3

NEW: Calibre Plugin Support (WIP) 🔌

  • Users can now install Calibre plugins such as DeDRM
  • The feature is still a work in progress but users with existing Calibre instances can simply bind their existing Calibre plugins folder to /config/.config/calibre/plugins in their docker-compose file

NEW: Bulk Add Books to Shelves 📚📚📚

Contributed by netvyper, you can now select multiple books from the book list page and add them to a shelf in one go!

  • New "Add to Shelf" button in bulk actions on the book list.
  • Modal dialog lets you pick your shelf.
  • Backend checks for permissions, duplicates, and provides clear success/error feedback.

NEW: Better Docs Cometh - The Birth of the CWA Wiki 📜

  • The documentation for CWA while for many enough, could really be better in helping as many users find the answers and information they need as quickly as possible
  • Therefore We have started work on the CWA Wiki to strive towards this goal!
  • While still very much a work in progress, submissions for pages, edits ect. are open to the community so if you stumble across something that seems wrong, missing or outdated, please jump in and change it if you can or let us know if you're not sure :)

Minor Changes ✨

  • The Ingest Automerge Parameter is now configurable in the CWA Settings Panel (thanks to have-a-boy! PR #417)

    • Users now have the option of selecting their preferred automerge behaviour from the 3 available:

      1. new_record (Default)
        • Create a duplicate record, keeping both copies
      2. overwrite
        • Overwrite library copy with newly imported file
      3. ignore
        • Discard duplicate import, keep library copy
    • The next update will do a lot more to try and squash dupe issues once and for all but for now this solution should help a lot of people configure CWA to do what they need

  • Links to IBDb enties from books now added to ebook identifiers when enabled thanks to chad3814! PR #422

  • Using a QR Code with the Magic-Link login page functionality is now possible thanks to coissac! PR #408

  • Tweaked refresh-library notification messages to be more visually appealing

  • List of Metadata Providers on Fetch Metadata screen is now alphabetized

  • Improvements to the CWA Ingest Processor:

    • The scope of the functions responsible for deleting empty directories during the ingest process has been narrowed to make sure files to be ingested in parent folders are more reliably ingested (thanks to demitrix)!
  • User Profile Pictures can now be changed from the admin panel (thanks to angelicadvocate)!

  • Cover images are now lazy loaded to improve responsiveness & performance on instances with many, many books

  • CSS for Dark Mode users vastly improved across the board!

    • The book cover display on the homepage is now centered to vastly improve it's appearance on mobile devices
    • The filter buttons are now in the title bar on larger resolutions instead of taking up unnecessary space at the top on the book display (when pagination is not in use)
    • Fixed the ugly read indicators in Dark Mode
    • The side menu on mobile has been made much more visually appealing & pleasant to use
    • Hover animation over book covers is now snappier and more modern
  • Amazon.jp is now available as a Metadata Provider (added by Hobogrammer)

Bugfixes 🐛

  • CWA now grabs the correct Kebupify version for ARM64 based devices (thanks to Calychas)!
  • .crdownload, .download and .part files are now ignored by the CWA Ingest Processor to prevent partially downloaded files from being processed (thanks to Aymendje)!
  • PR#371 from Dee76 Fix: Kepub conversion not being passed the full path of the source file
  • Notebook sy...
Read more

Version 3.1.0 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

01 Aug 10:38
Compare
Choose a tag to compare

Version 3.1.0 - The Community Update 👬 Hardcover Integration 💜, Calibre Plugins 🔌, Split Library Support 💞, KoReader Sync 🗘 and much more! 📚

"Calibre-Web Automated is extremely lucky and privileged to have such a large and vibrant community of people who support, enjoy and contribute to the project. The bulk of the new features and bugfixes this update brings were created by the best and brightest of our community and I want to celebrate that and their work here in the hope that our community only continues to grow!" - CrocodileStick

Release V3.1.0 Changelog

Major Changes 🚀

NEW: Split Library Support 💞

  • As promised, all CWA features are now fully compatible with Calibre-Web's Split Library Functionality
  • This enables users to store their Calibre Library in a a separate location to their metadata.db file
  • To configure this, in the Admin Panel, navigate to Edit Calibre Database Configuration -> Separate Book Files from Library
    • The use of Network Shares (especially NFS) with this functionality is discouraged as they sometimes don't play well with CW & CWA's SQLite3 heavy stack. Many users use network shares without issues but there aren't enough resources to support those who can't get it working on their own

NEW: Hardcover API Integration 💜📖

  • Hardcover is now officially not only available as a Metadata Provider, but using Hardcover's API, Kobo Shelves & Read Progress can now also be synced to a user's Hardcover account!

  • Current workflow is scraping a book by title, you can then use the resulting hardcover-id identifier to search for editions of that book, by searching "hardcover-id:". Edition results are filtered to exclude Audiobooks editions, and sorted by ebook then physical book.

  • If a shelf in CWA is selected for Kobo sync, when a book with id and edition identifiers is added to the shelf, it will also be added to Hardcovers want to read list. As the book is read on the Kobo device progress is synced to Hardcover as well when pushed to CWA.

  • To use Hardcover as a Metadata Provider, simply provided a Hardcover API Token in your docker-compose under the HARDCOVER_TOKEN Environment Variable

    • To enable Kobo sync, a Hardcover API Token must be provided for each user in each user's respective Profile Page
  • Thanks to demitrix! <3

Greatly Improved Metadata Selection UI 🎨

  • Demitrix was really on a roll the last couple of months and also contributed some really cool functionality to the Metadata Selection UI

CWA New Metadata Fetch UI - V3.1.0

  • Much more Elegant & Readable UI, both on Mobile & on Desktop

    • Improved CSS for the Fetch Metadata interface—making it easier and clearer for you to review and select metadata sources.
  • Individually Selectable Elements

    • Say goodbye to having to having all of your book's metadata overwritten simply becuasse you wanted a better looking cover!
    • As of V3.1.0, all metadata elements can be individually updated from multiple sources instead of the only option being to take everything for a single source!
  • Visual Quality Comparison Between the Cover Your Book Already Those Available from Metadata Providers

    • Looking for a specific cover but not sure if the image file is low quality or not? As of V3.1.0, the resolution of cover images is now displayed on the bottom right corner of the preview, the background of which is colour-coded to indicate whether the available cover is of greater, lower or equal quality to the one already attached to the ebook!
  • Thanks to demitrix for their contributions to this! <3

NEW: KoReader Sync Functionality! 📚🗘

  • CWA now includes built-in KOReader syncing functionality, providing a modern alternative to traditional KOReader sync servers!
  • Universal KOReader Syncer: Works across all KOReader-compatible devices, storing sync data in a readable format for future CWA features
  • Modern Authentication: Uses RFC 7617 compliant header-based authentication instead of legacy MD5 hashing for enhanced security
  • CWA Integration: Leverages your existing CWA user accounts and permissions - no additional server setup required
  • Easy Installation: Plugin and setup instructions are available directly from your CWA instance at /kosync
  • Provided by sirwolfgang! <3

Support for the Latest Versions of Calibre, even on devices with older Kernels! 🆕🎉

  • ABI tag from the extracted libQt6* files removed to allow them to be used with older kernels
  • Adds binutils to install strip for calibre-included Dockerfile.
    strip libQt6*.so files of the ABI tag so that they can work with older kernels (harmless for newer kernels).
    These libraries appear to still contain fallbacks for any missing syscalls that calibre might use.
    add .gitattributes to enforce LF checkout on .sh files (useful for those who build on windows)
  • Thanks to these changes, CWA now has much greater compatibility with a much wider range of devices & is able to keep up to date with the latest Calibre Releases! 🎉
  • Provided by FennyFatal <3

NEW: Calibre Plugin Support (WIP) 🔌

  • Users can now install Calibre plugins such as DeDRM
  • The feature is still a work in progress but users with existing Calibre instances can simply bind their existing Calibre plugins folder to /config/.config/calibre/plugins in their docker-compose file

NEW: Bulk Add Books to Shelves 📚📚📚

Contributed by netvyper, you can now select multiple books from the book list page and add them to a shelf in one go!

  • New "Add to Shelf" button in bulk actions on the book list.
  • Modal dialog lets you pick your shelf.
  • Backend checks for permissions, duplicates, and provides clear success/error feedback.

Better Docs Cometh - The Birth of the CWA Wiki 📜

  • The documentation for CWA while for many enough, could really be better in helping as many users find the answers and information they need as quickly as possible
  • Therefore We have started work on the CWA Wiki to strive towards this goal!
  • While still very much a work in progress, submissions for pages, edits ect. are open to the community so if you stumble across something that seems wrong, missing or outdated, please jump in and change it if you can or let us know if you're not sure :)

Minor Changes ✨

  • The Ingest Automerge Parameter is now configurable in the CWA Settings Panel (thanks to have-a-boy! PR #417)

    • Users now have the option of selecting their preferred automerge behaviour from the 3 available:

      1. new_record (Default)
        • Create a duplicate record, keeping both copies
      2. overwrite
        • Overwrite library copy with newly imported file
      3. ignore
        • Discard duplicate import, keep library copy
    • The next update will do a lot more to try and squash dupe issues once and for all but for now this solution should help a lot of people configure CWA to do what they need

  • Links to IBDb enties from books now added to ebook identifiers when enabled thanks to chad3814! PR #422

  • Using a QR Code with the Magic-Link login page functionality is now possible thanks to coissac! PR #408

  • Tweaked refresh-library notification messages to be more visually appealing

  • List of Metadata Providers on Fetch Metadata screen is now alphabetized

  • Improvements to the CWA Ingest Processor:

    • The scope of the functions responsible for deleting empty directories during the ingest process has been narrowed to make sure files to be ingested in parent folders are more reliably ingested (thanks to demitrix)!
  • User Profile Pictures can now be changed from the admin panel (thanks to angelicadvocate)!

  • Cover images are now lazy loaded to improve responsiveness & performance on instances with many, many books

  • CSS for Dark Mode users vastly improved across the board!

    • The book cover display on the homepage is now centered to vastly improve it's appearance on mobile devices
    • The filter buttons are now in the title bar on larger resolutions instead of taking up unnecessary space at the top on the book display (when pagination is not in use)
    • Fixed the ugly read indicators in Dark Mode
    • The side menu on mobile has been made much more visually appealing & pleasant to use
    • Hover animation over book covers is now snappier and more modern
  • Amazon.jp is now available as a Metadata Provider (added by Hobogrammer)

Bugfixes 🐛

  • CWA now grabs the correct Kebupify version for ARM64 based devices (thanks to Calychas)!
  • .crdownload, .download and .part files are now ignored by the CWA Ingest Processor to prevent partially downloaded files from being processed (thanks to Aymendje)!
  • PR#371 from Dee76 Fix: Kepub conversion not being passed the full path of the source file
  • Notebook syncing fixed for Kobo users thanks to a CW PR by jvik! (#3316)
  • Fixed 403 error when using proxy auth and accessing /ajax/updateThumbnails from a session authenticated by reverse proxy (CW PR #3390) by [geekifier](htt...
Read more

Version 3.0.4

11 Feb 16:58
Compare
Choose a tag to compare

Release V3.0.4 Changelog

CWA Library Refresh is now Threaded & Asynchronous with the rest of the application! 🧵

  • Made the library-refresh function asynchronous from the rest of the application so that while it's running, the rest of the application no longer has to wait for it to finish before continuing with other tasks!
  • Library Refresh can now also be used from any screen without refreshing to the homepage! Just start the process and carry on with whatever else you were doing!
  • Library Refresh no longer uses a hardcoded path to the user's library and instead grabs the path from dirs.json (Issue #190)

Other Changes 🍂

  • Added available update notifications to the docker logs
  • Added clickable link to release changelog in Available Update Notification

Bugfixes 🐛

  • Added better error handling for cwa-update-notification-service to prevent 500 Errors for rate-limited users (Issue #251)
  • Fully restored Bulk Editing capabilities from V2.1.2 in the Books List page (Issue #222)

Version 3.0.3

07 Feb 13:38
c527114
Compare
Choose a tag to compare

Release V3.0.3 Changelog

Bugfixes 🐛

  • Fixed mistake in cwa-init script that resulted in the permissions not being recursively set for /calibre-library and /app/calibre-web-automated (Issue #241)
  • Fixed order of operations in cwa-init that resulted in new app.db files for new users, having root ownership and not being writable for CWA (Issue #242)
  • Added code to ensure any log files created by CWA services have the correct permissions and aren't created with root ownership, thus causing issues (Issue #234)

Version 3.0.2

06 Feb 15:58
cfc13df
Compare
Choose a tag to compare

Release V3.0.2 Changelog

  • Added fix for /config/.cwa_conversion_tmp not being created automatically for some users

  • Fixed redirect issues to preserve compatibility with reverse proxy subfolder configuration

  • Fixed Light Theme CSS in CWA Stats page and CWA Settings page (Issue #225)

  • Fixed backup bug with ingest_processor (Issue #231)

  • Consolidated cwa-init-remove-locks, cwa-set-binary-paths, cwa-set-perms and the section of cwa-auto-zipper that ensured essential directories existed to one oneshot service called cwa-init

  • Fixed a bug where CWA wasn't being automatically setup as intended for some new users

    • Added functionality in cwa-init to check for an existing app.db at start up and create one using the example copy in /app/calibre-web-automated/empty_library if one is missing
    • This fixes situations new users were facing where their new instances wouldn't already be fully setup for them e.g. Uploads would be disabled, they would have to select the location of the Calibre Library themselves, the app title would be 'Calibre-Web' not 'Calibre Web Automated' ect.
    • Now CWA boots as intended for new users

Version 3.0.1

31 Jan 15:12
Compare
Choose a tag to compare

Version 3.0.1 Release Notes

Update to fix the 500 Internal Server Error being encountered by some new users / those installing V3.0.0 fresh

Version 3.0.0 - CWA Reborn 🚀 No Longer EPUB only, Lots of New Tools & Features, Granular User Control & no more DockerMod required! 🤩✨

Release V3.0.0 Changelog

🚨 NOTE TO NEW USERS / USERS SWITCHING FROM CW / THOSE UPDATING 🚨

  • For those planning to use the same config dir as their existing CW instance, that is totally supported however CW store's the applications port in it's app.db, so when switching you'll need to initially boot up CWA with the same port as your old CW instance

  • Calibre, Calibre-Web and CWA are all SQLite3 based applications and as a result don't like being run over network shares (especially NFS)

    • SQLite is designed as a lightweight, file-based database system, and it assumes the underlying file system supports certain guarantees about file locking, atomic writes, and consistency
    • Network file systems (e.g., NFS, SMB/CIFS, etc.) often do not meet these assumptions, which can lead to issues.
    • Some users are successful in deploying CWA across NFS shares however doing so can produce a lot of hard to diagnose issues that take time away from users with actual issues
    • Therefore as of V3.0.0, deployments over NFS shares are "unsupported", meaning you are free to do so, but support will not be provided for users facing issues
  • Users migrating from older versions of CWA that encounter errors with their cwa.db when updating are recommended to delete their existing cwa.db in their config bind.

    • A new one will be made automatically on startup and this won't affect the contents of your library or your users, just your CWA specific settings that you will need to set again if different from the default
    • The docker-compose template has changed, please edit your existing one accordingly (DockerMod no longer required):
    ---
    services:
      calibre-web-automated:
        image: crocodilestick/calibre-web-automated:latest
        container_name: calibre-web-automated
        environment:
          # Only change these if you know what you're doing
          - PUID=1000
          - PGID=1000
          # Edit to match your current timezone https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          - TZ=UTC 
        volumes:
          # CW users migrating should stop their existing CW instance, make a copy of the config folder, and bind that here to carry over all of their user settings ect.
          - /path/to/config/folder:/config 
          # This is an ingest dir, NOT a library one. Anything added here will be automatically added to your library according to the settings you have configured in CWA Settings page. All files placed here are REMOVED AFTER PROCESSING
          - /path/to/the/folder/you/want/to/use/for/book/ingest:/cwa-book-ingest
          # If you don't have an existing library, CWA will automatically create one at the bind provided here
          - /path/to/your/calibre/library:/calibre-library 
        ports:
          # Change the first number to change the port you want to access the Web UI, not the second
          - 8083:8083 
        restart: unless-stopped

New Features 🔥

Complete App-Wide Multi-Format Support, No Longer Just EPUB! 🌍

  • CWA is no longer EPUB only!
  • As of V3.0.0, CWA supports library files in the following formats:
    • .azw, .azw3, .azw4, .mobi, .cbz, .cbr, .cb7, .cbc, .chm, .djvu, .docx, .epub, .fb2, .fbz, .html, .htmlz, .lit, .lrf, .odt, .pdf, .prc, .pdb, .pml, .rb, .rtf, .snb, .tcr, .txtz
  • And now allows all books to exist in multiple formats!
    • For example, you have Kobo and Kindle users using the same library, now each book can exist both as an EPUB for Send-to-Kindle AND a KEPUB so Kobo users can sync their read progress ect.!
    • As of this version, the default behavior of both the Ingest & Library Conversion services is now ADDITIVE (for more details, see below)
  • Users can now choose a Target Format for the Ingest & Conversion Services from the following 5 formats:
    • EPUB (default), KEPUB, MOBI, PDF, AZW3
    • This means that in combination with the new settings detailed below, user's can now choose which format they want the auto-conversion feature to use on ingest, as well as which filetypes to ignore ect.

Power to the People ✊ More User Configurable than ever before!

  • A plethora of new settings have been added to CWA, all giving users the ability to now personally change & configure CWA's services behaviors to their liking!
  • Users now have the ability to toggle all of CWA features on & off! including:
    • CWA Auto-Converter
    • CWA Metadata Enforcer
    • CWA EPUB Fixer Service
    • CWA Auto Backup Service
    • CWA Auto Zipper Service
    • CWA Update Notification Service
  • Users can now set certain formats to be ignored by the Auto-Convert and Auto-Ingest services, separately!
  • By combining these settings, users now have much more granular control over the behavior of CWA's functions and can really tailor them to serve their specific use cases!

CWA New Process UI

NEW SERVICE - EPUB Fixer Service - Say Goodbye to failed Send-to-Kindle runs! 👋✈️

  • Ever had it where you're super excited to start reading your next book but for some reason, Amazon's Send-to-Kindle service just keeps rejecting it? Well no more!

  • Originally developed by innocenat, this tool corrects the following potential issues for every EPUB processed by CWA:

    • Fixes UTF-8 encoding problem by adding UTF-8 declaration if no encoding is specified
    • Fixes hyperlink problem (result in Amazon rejecting the EPUB) when NCX table of content link to <body> with ID hash.
    • Detect invalid and/or missing language tag in metadata, and prompt user to select new language.
    • Remove stray <img> tags with no source field.
    • Resolves several EPUB compatibility issues, such as UTF-8 encoding, hyperlink problems, invalid/missing language tags, and stray image tags.
  • This ensures maximum comparability for each EPUB file with the Amazon Send-to-Kindle service and for those who don't use Amazon devices, has the side benefit of cleaning up your lower quality files!

  • Enabled by default but can be toggled in settings.

  • Files processed by the EPUB-Fixer service are by default automatically backed up to /config/processed_books however this can also be toggled in the settings.

  • Bulk processing of whole library with progress tracking available in the Admin Panel

  • Available via both the Web UI and CLI

Major Improvements to the CWA Convert Library Service 🔃✨

  • No more black updating JSON screen than locks up the whole app!
  • The CWA Library Conversion service (as well as the EPUB Fixer) is now asynchronous with the rest of the application meaning you and your users can do whatever you want while it's running and come back whenever you want to check it's progress!
  • The processes are now also able to be cancelled mid-run quickly and easily from the Web UI
  • The logs for each run are stored in /config/log_archive and can be accessed, read and downloaded all through the Web UI using the "RUN ARCHIVE" button in the Web UI
  • New User Friendly UI for both the Convert Library & EPUB Fixer Services! 🦋

CWA New Process UI

New Metadata Provider! - ibdb.dev / ISBNDb - Thanks to @chad3814!

  • Users can now make use of isbndb.com's huge database when fetching metadata for the books in their library!
  • Access is being provided via ibdb.dev thanks to a generous donation to the community by @chad3814

New Sever Stats Page 📊

  • The CWA History page has now been renamed to CWA Stats
  • Not only has the page been reorganized to prioritize CWA's most commonly used functions but a section displaying fun stats about your particular instance of CWA has been added to the top of the page (more stats being added soon)

CWA Server Stats Page

Major Changes 🍂

Updated to Latest CW Base Version 🆙

  • Updated from Stock CW Version 0.6.23 ➡️ 0.6.24 Nicolette bringing these changes

DockerMod No Longer Required! ⛓️‍💥

  • Calibre is now bundled in the CWA Image itself, meaning the DOCKER_MOD environment tag is no longer required and provides the following benefits:
    • Container start up is much quicker (though the images are now a little bigger & that is something being actively looked into)
    • This change also makes CWA much more widely-compatible with a wider number of possible configurations

CWA Ingest & Auto-Convert are now ADDITIVE by default, rather than replacing existing entries / files 🤝

  • Formerly if a book being ingested already existed in the library, the ingested file would replace the existing file
    • Now, the new files will be MERGED with the existing entry, making the process not only less destructive but also allows for each book to have multiple formats
  • In this same vein, the Convert-Library service would previously convert all non-EPUB files to EPUB format
    • Now, the service will CREATE a new version of a book in the user's selected target format (EPUB by default) and leave the original file in the original format in the library

Bug Fixes

  • Fixed Lock File bug that prevented CWA from being able to automatically remove leftover lock files on container startu...
Read more

V3.0.0

31 Jan 11:00
Compare
Choose a tag to compare

Version 3.0.0 - CWA Reborn 🚀 No Longer EPUB only, Lots of New Tools & Features, Granular User Control & no more DockerMod required! 🤩✨

Release V3.0.0 Changelog

🚨 NOTE TO NEW USERS / USERS SWITCHING FROM CW / THOSE UPDATING 🚨

  • For those planning to use the same config dir as their existing CW instance, that is totally supported however CW store's the applications port in it's app.db, so when switching you'll need to initially boot up CWA with the same port as your old CW instance

  • Calibre, Calibre-Web and CWA are all SQLite3 based applications and as a result don't like being run over network shares (especially NFS)

    • SQLite is designed as a lightweight, file-based database system, and it assumes the underlying file system supports certain guarantees about file locking, atomic writes, and consistency
    • Network file systems (e.g., NFS, SMB/CIFS, etc.) often do not meet these assumptions, which can lead to issues.
    • Some users are successful in deploying CWA across NFS shares however doing so can produce a lot of hard to diagnose issues that take time away from users with actual issues
    • Therefore as of V3.0.0, deployments over NFS shares are "unsupported", meaning you are free to do so, but support will not be provided for users facing issues
  • Users migrating from older versions of CWA that encounter errors with their cwa.db when updating are recommended to delete their existing cwa.db in their config bind.

    • A new one will be made automatically on startup and this won't affect the contents of your library or your users, just your CWA specific settings that you will need to set again if different from the default
    • The docker-compose template has changed, please edit your existing one accordingly (DockerMod no longer required):
    ---
    services:
      calibre-web-automated:
        image: crocodilestick/calibre-web-automated:latest
        container_name: calibre-web-automated
        environment:
          # Only change these if you know what you're doing
          - PUID=1000
          - PGID=1000
          # Edit to match your current timezone https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          - TZ=UTC 
        volumes:
          # CW users migrating should stop their existing CW instance, make a copy of the config folder, and bind that here to carry over all of their user settings ect.
          - /path/to/config/folder:/config 
          # This is an ingest dir, NOT a library one. Anything added here will be automatically added to your library according to the settings you have configured in CWA Settings page. All files placed here are REMOVED AFTER PROCESSING
          - /path/to/the/folder/you/want/to/use/for/book/ingest:/cwa-book-ingest
          # If you don't have an existing library, CWA will automatically create one at the bind provided here
          - /path/to/your/calibre/library:/calibre-library 
        ports:
          # Change the first number to change the port you want to access the Web UI, not the second
          - 8083:8083 
        restart: unless-stopped

New Features 🔥

Complete App-Wide Multi-Format Support, No Longer Just EPUB! 🌍

  • CWA is no longer EPUB only!
  • As of V3.0.0, CWA supports library files in the following formats:
    • .azw, .azw3, .azw4, .mobi, .cbz, .cbr, .cb7, .cbc, .chm, .djvu, .docx, .epub, .fb2, .fbz, .html, .htmlz, .lit, .lrf, .odt, .pdf, .prc, .pdb, .pml, .rb, .rtf, .snb, .tcr, .txtz
  • And now allows all books to exist in multiple formats!
    • For example, you have Kobo and Kindle users using the same library, now each book can exist both as an EPUB for Send-to-Kindle AND a KEPUB so Kobo users can sync their read progress ect.!
    • As of this version, the default behavior of both the Ingest & Library Conversion services is now ADDITIVE (for more details, see below)
  • Users can now choose a Target Format for the Ingest & Conversion Services from the following 5 formats:
    • EPUB (default), KEPUB, MOBI, PDF, AZW3
    • This means that in combination with the new settings detailed below, user's can now choose which format they want the auto-conversion feature to use on ingest, as well as which filetypes to ignore ect.

Power to the People ✊ More User Configurable than ever before!

  • A plethora of new settings have been added to CWA, all giving users the ability to now personally change & configure CWA's services behaviors to their liking!
  • Users now have the ability to toggle all of CWA features on & off! including:
    • CWA Auto-Converter
    • CWA Metadata Enforcer
    • CWA EPUB Fixer Service
    • CWA Auto Backup Service
    • CWA Auto Zipper Service
    • CWA Update Notification Service
  • Users can now set certain formats to be ignored by the Auto-Convert and Auto-Ingest services, separately!
  • By combining these settings, users now have much more granular control over the behavior of CWA's functions and can really tailor them to serve their specific use cases!

CWA New Process UI

NEW SERVICE - EPUB Fixer Service - Say Goodbye to failed Send-to-Kindle runs! 👋✈️

  • Ever had it where you're super excited to start reading your next book but for some reason, Amazon's Send-to-Kindle service just keeps rejecting it? Well no more!

  • Originally developed by innocenat, this tool corrects the following potential issues for every EPUB processed by CWA:

    • Fixes UTF-8 encoding problem by adding UTF-8 declaration if no encoding is specified
    • Fixes hyperlink problem (result in Amazon rejecting the EPUB) when NCX table of content link to <body> with ID hash.
    • Detect invalid and/or missing language tag in metadata, and prompt user to select new language.
    • Remove stray <img> tags with no source field.
    • Resolves several EPUB compatibility issues, such as UTF-8 encoding, hyperlink problems, invalid/missing language tags, and stray image tags.
  • This ensures maximum comparability for each EPUB file with the Amazon Send-to-Kindle service and for those who don't use Amazon devices, has the side benefit of cleaning up your lower quality files!

  • Enabled by default but can be toggled in settings.

  • Files processed by the EPUB-Fixer service are by default automatically backed up to /config/processed_books however this can also be toggled in the settings.

  • Bulk processing of whole library with progress tracking available in the Admin Panel

  • Available via both the Web UI and CLI

Major Improvements to the CWA Convert Library Service 🔃✨

  • No more black updating JSON screen than locks up the whole app!
  • The CWA Library Conversion service (as well as the EPUB Fixer) is now asynchronous with the rest of the application meaning you and your users can do whatever you want while it's running and come back whenever you want to check it's progress!
  • The processes are now also able to be cancelled mid-run quickly and easily from the Web UI
  • The logs for each run are stored in /config/log_archive and can be accessed, read and downloaded all through the Web UI using the "RUN ARCHIVE" button in the Web UI
  • New User Friendly UI for both the Convert Library & EPUB Fixer Services! 🦋

CWA New Process UI

New Metadata Provider! - ibdb.dev / ISBNDb - Thanks to @chad3814!

  • Users can now make use of isbndb.com's huge database when fetching metadata for the books in their library!
  • Access is being provided via ibdb.dev thanks to a generous donation to the community by @chad3814

New Sever Stats Page 📊

  • The CWA History page has now been renamed to CWA Stats
  • Not only has the page been reorganized to prioritize CWA's most commonly used functions but a section displaying fun stats about your particular instance of CWA has been added to the top of the page (more stats being added soon)

CWA Server Stats Page

Major Changes 🍂

Updated to Latest CW Base Version 🆙

  • Updated from Stock CW Version 0.6.23 ➡️ 0.6.24 Nicolette bringing these changes

DockerMod No Longer Required! ⛓️‍💥

  • Calibre is now bundled in the CWA Image itself, meaning the DOCKER_MOD environment tag is no longer required and provides the following benefits:
    • Container start up is much quicker (though the images are now a little bigger & that is something being actively looked into)
    • This change also makes CWA much more widely-compatible with a wider number of possible configurations

CWA Ingest & Auto-Convert are now ADDITIVE by default, rather than replacing existing entries / files 🤝

  • Formerly if a book being ingested already existed in the library, the ingested file would replace the existing file
    • Now, the new files will be MERGED with the existing entry, making the process not only less destructive but also allows for each book to have multiple formats
  • In this same vein, the Convert-Library service would previously convert all non-EPUB files to EPUB format
    • Now, the service will CREATE a new version of a book in the user's selected target format (EPUB by default) and leave the original file in the original format in the library

Bug Fixes

  • Fixed Lock File bug that prevented CWA from being able to automatically remove leftover lock files on container startup
  • Numerous bugs with the CWA DB have been fixed that were resulting in the database occasionally becoming locked for some users
  • **Fixed bug...
Read more