Releases: crocodilestick/Calibre-Web-Automated
Version 3.0.4
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 🐛
Version 3.0.3
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
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 calledcwa-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
- Added functionality in
Version 3.0.1
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 existingcwa.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!
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! 🦋
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)
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...
V3.0.0
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 existingcwa.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!
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! 🦋
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)
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...
Version 2.1.2 - Multi-Platform Images, Personalise Your Instance and Big UI Improvements! ✨💪
CWA is finally Multi-Platform!! 💪🎉
- This and all future releases are now Multi-Platform! From now on, CWA will have both
linux/amd64
&linux/arm64
images available for each new version!
UI Changes & Fixes 📛
-
Fixed the user's ability to rebrand the Web UI with whatever name they see fit
- To do so, navigate to the Settings/ Admin panel, select
Edit UI Configuration
and under theView Configuration
tab, change theTitle
field to whatever you want! - The name you select here will the replace the default Calibre-Web Automated across the Web-UI ect. for all your users
- The branding will change throughout as soon as you've saved your changes, no restart required!
- To do so, navigate to the Settings/ Admin panel, select
-
Added descriptions for each setting in the CWA Settings page as well as tooltips
Fixes and Improvements to the Book List page 🦋
-
The Header and page elements now conform to the same design language as the rest of the pages
-
The Bulk Edit buttons have been moved from the Table Headings to the top of the page and some of the page headings have been shortened to maximise the available horizontal space on any given device and make the page much easier to use (especially on mobile)
-
The Pagination widget has been properly aligned and centred with regards to the other page elements
-
The Columns selection widget now expands to the left and into a already visible section of the page instead of off to the right and expanding the width of the page
-
And in the CaliBlur/ Dark Theme:
-
The search button of the search field it now properly aligned and sized to the search field, no longer slightly smaller than it should have been to the ire of many
-
The pagination widget on the top left is now themed black, orange and white to match the aesthetic of the rest of the UI elements
BEFORE 🤢
AFTER ✨
-
Version 2.1.1 - Minor Bugfixes on V2.1.0
Minor Bugfixes for bugs introduced in V2.1.0:
- Calibre Binary location now set by default to /usr/bin in app.db
- Restored split setting option in config_db to prevent 500 errors some users were having
- Fixed dependency issues introduced in convert-library
- Added isfile check for convert-library.log to prevent crash on first run that could result if a log file didn't already exist
Version 2.1.0 - Major Fix for NAS & Unraid users, more User Customisability, Major Improvements to the Ingest and Conversion systems and more! 🎊 ✨📖
MAJOR FIX - Synology & Unraid Users (plus those running old Linux Kernels) 🎉
- After months of working with the community to try and find a fix for the widespread issues Synology users in particular were having, we have finally arrived on a fix! 🎉
- The issue was that the most recent binaries utilised by CWA from the linuxserver
universal-calibre
mod are incompatible with older versions of the Linux Kernel (particularly versions 4.4 and 3.2) - This meant that for users using older NASs ect., the binaries would be unavailable, rendering the CWA functions that require them unusable
- A fix was discovered by user @loli71 here in this thread who found that the binaries within V7.16 of the
universal-calibre
mod are compatible with those still using older kernel versions! - Therefore from now on, baring issues, CWA will use V7.16 of the mod by default to ensure maximum compatibility for as many users as possible
- Special thank to @iroQuai, @Malek-GHub and @inkanyamba for their help in solving the issue in the now closed thread here
New Features ✨
- Added a CWA Settings panel to allow users to enable and disable certain CWA Settings based on their preferences
- Added Ability to check the status of the CWA Monitoring services from within the Web UI
- Added the ability for users to use the Convert-Library function from the Web UI using the "Convert Library to epub" button in the settings page
- Added a new auto compression feature (cwa-auto-zipper) that automatically zips all backed up files, once a day just before midnight to minimise disk space and help keep backed up files organised. The feature is also user toggleable in the new CWA Settings page
- Added a page called "Show CWA History" in the Admin Panel that users can now use to view the historical logs/ stats of all previous metadata enforcements, conversions & imports in the Web UI
Major Changes ⛰️
- Updated base CW base version to 0.6.23 from 0.6.22
- Reworked and vastly improved the auto ingest process to solve issues for a number of users and to improve reliability and performance
- Users who has their ingest folders on different drives to their Calibre Libraries were experiencing permission issues that could only be rectified through the mounting of a temp folder used by the old ingest process
- With the new process these issues have been resolved on top of it being more reliable and performant in general
- Numerous changes have been made to make the ingest process much less destructive:
- The originals of converted and imported books, as well as those that have failed to be ingested, are now automatically backed up by default to
/config/processed_books
- This as well as many other functions are also now able to be disabled in the new "CWA Settings" page in the Admin Panel
- The originals of converted and imported books, as well as those that have failed to be ingested, are now automatically backed up by default to
- Rewrote
convert-library.py
to be much less destructive through the implementation of user toggleable file backup settings, more reliable and to support statistical output to cwa.db - Added fix for updated metadata & covers not reliably updating on Kobo devices. Courtesy of @tsheinen. See the thread here
- Added the enforcement of Timezones given as environment variables. Previously giving a timezone as an environment variable didn't change the system clock of the container environment consistently for all users and functions and so now the
/etc/localtime
and/etc/timezone
files are automatically corrected during container startup by thecwa-auto-zipper
service, defaulting to UTC time if no TZ was given or in the event of an error or unrecognised timezone. This has made scheduled tasks more consistent and reliable. - Added lock file for convert-library.py to prevent multiple simultaneous instances
Minor Changes & Bugfixes ✅
- Added greater support for special characters in Book Titles and Author Names
- Improved error handling for files that are unable to be successfully processed
- Fix for bug where the Web UI could become unavailable due to not receiving a response for a API query to the project's GitHub page. Courtesy of @Buco7854
- Made it so CWA only checks for available updates once per day
- Made it so that the "Enable Uploads" setting in the Feature Configuration screen is on by default for new installs as new users who had yet to enable it were confused by not being able to upload new covers for example
- Added oneshot service at init to check for and remove any potential leftover cwa lock files (cwa-init-remove-locks)
- Added default paths to included calibre & kepubify binaries so their additional functionality is enabled by default for new installs
- Deprecated new-book-detector as part of the reworking of the auto ingest system
- Renamed numerous scripts to make their functions clearer
- Made the available update notifications optional through the new CWA Settings page
- Fixed Library Refresh Pop-Up messaging
Coming in V2.2.0 🍃
- Making CWA much more user configurable through the new CWA Settings panel e.g. giving users the ability to disable the conversion of certain formats ect.
- Restoring the ability for users to rebrand the Web UI
- Re-enabling Split Library functionality and having it work seamlessly with CWA's other features
Version 2.1.0 - Major Fix for NAS & Unraid users, more User Customisability, Major Improvements to the Ingest and Conversion systems and more! 🎊 ✨📖
MAJOR FIX - Synology & Unraid Users (plus those running old Linux Kernels) 🎉
- After months of working with the community to try and find a fix for the widespread issues Synology users in particular were having, we have finally arrived on a fix! 🎉
- The issue was that the most recent binaries utilised by CWA from the linuxserver
universal-calibre
mod are incompatible with older versions of the Linux Kernel (particularly versions 4.4 and 3.2) - This meant that for users using older NASs ect., the binaries would be unavailable, rendering the CWA functions that require them unusable
- A fix was discovered by user @loli71 here in this thread who found that the binaries within V7.16 of the
universal-calibre
mod are compatible with those still using older kernel versions! - Therefore from now on, baring issues, CWA will use V7.16 of the mod by default to ensure maximum compatibility for as many users as possible
- Special thank to @iroQuai, @Malek-GHub and @inkanyamba for their help in solving the issue in the now closed thread here
New Features ✨
- Added a CWA Settings panel to allow users to enable and disable certain CWA Settings based on their preferences
- Added Ability to check the status of the CWA Monitoring services from within the Web UI
- Added the ability for users to use the Convert-Library function from the Web UI using the "Convert Library to epub" button in the settings page
- Added a new auto compression feature (cwa-auto-zipper) that automatically zips all backed up files, once a day just before midnight to minimise disk space and help keep backed up files organised. The feature is also user toggleable in the new CWA Settings page
- Added a page called "Show CWA History" in the Admin Panel that users can now use to view the historical logs/ stats of all previous metadata enforcements, conversions & imports in the Web UI
Major Changes ⛰️
- Updated base CW base version to 0.6.23 from 0.6.22
- Reworked and vastly improved the auto ingest process to solve issues for a number of users and to improve reliability and performance
- Users who has their ingest folders on different drives to their Calibre Libraries were experiencing permission issues that could only be rectified through the mounting of a temp folder used by the old ingest process
- With the new process these issues have been resolved on top of it being more reliable and performant in general
- Numerous changes have been made to make the ingest process much less destructive:
- The originals of converted and imported books, as well as those that have failed to be ingested, are now automatically backed up by default to
/config/processed_books
- This as well as many other functions are also now able to be disabled in the new "CWA Settings" page in the Admin Panel
- The originals of converted and imported books, as well as those that have failed to be ingested, are now automatically backed up by default to
- Rewrote
convert-library.py
to be much less destructive through the implementation of user toggleable file backup settings, more reliable and to support statistical output to cwa.db - Added fix for updated metadata & covers not reliably updating on Kobo devices. Courtesy of @tsheinen. See the thread here
- Added the enforcement of Timezones given as environment variables. Previously giving a timezone as an environment variable didn't change the system clock of the container environment consistently for all users and functions and so now the
/etc/localtime
and/etc/timezone
files are automatically corrected during container startup by thecwa-auto-zipper
service, defaulting to UTC time if no TZ was given or in the event of an error or unrecognised timezone. This has made scheduled tasks more consistent and reliable. - Added lock file for convert-library.py to prevent multiple simultaneous instances
Minor Changes & Bugfixes ✅
- Added greater support for special characters in Book Titles and Author Names
- Improved error handling for files that are unable to be successfully processed
- Fix for bug where the Web UI could become unavailable due to not receiving a response for a API query to the project's GitHub page. Courtesy of @Buco7854
- Made it so CWA only checks for available updates once per day
- Made it so that the "Enable Uploads" setting in the Feature Configuration screen is on by default for new installs as new users who had yet to enable it were confused by not being able to upload new covers for example
- Added oneshot service at init to check for and remove any potential leftover cwa lock files (cwa-init-remove-locks)
- Added default paths to included calibre & kepubify binaries so their additional functionality is enabled by default for new installs
- Deprecated new-book-detector as part of the reworking of the auto ingest system
- Renamed numerous scripts to make their functions clearer
- Made the available update notifications optional through the new CWA Settings page
- Fixed Library Refresh Pop-Up messaging
Coming in V2.2.0 🍃
- Making CWA much more user configurable through the new CWA Settings panel e.g. giving users the ability to disable the conversion of certain formats ect.
- Restoring the ability for users to rebrand the Web UI
- Re-enabling Split Library functionality and having it work seamlessly with CWA's other features
Version 2.0.1 - Minor Fix to Update Notification System
Very small update, only fixes the following:
- A bug where the Update Availability notification would be shown even when no update was available. Now works as intended
- A bug some users where facing that resulted in a 500 error when trying to load the admin page
CrocodileStick
Version 2.0.0 - Bulk Editing, Auto-Library Detection, Wider Compatibilityand lots, lots more! ✨
Version 2.0.0 - 28.08.2024 🌅🎉
🚨 Please Update to the latest DockerHub image ASAP to avoid stability & import/ ingest issues that have been corrected from previous versions
If you find any bugs, please be sure to create an issue in the Issues Section! 🪲
New Features ✨
-
Dockerfile is now freely available & provides wider system / hardware compatibility 🐋
-
Offical Support for Proxmox and NAS Based-Systems 💾
- If you've previously tried to use CWA and couldn't get it to work properly, many permissions related issues from the previous releases have now been fixed and so V2.0.0 should now work for pretty much anyone! (except those on ARM-based systems)
-
NEW FEATURE - Library Auto-Detect 📚🕵️
- Made to MASSIVELY simplify the setup process for both new and existing users alike
- New Users without existing Libraries: 🆕
- New users without existing Calibre Libraries no longer need to copy and paste
metadata.db
files and point to their location in the Web UI, CWA will now automatically detect the lack of Library in your given bind and automatically create a new one for you! It will even automatically register it with the Web UI so you can really hit the ground running
- New users without existing Calibre Libraries no longer need to copy and paste
- New or Existing Users with Existing Libraries:
- Simply bind a directory containing your Calibre Library (search is done recursively so it doesn't matter how deep in the directory it is) and CWA will now automatically find it and mount it to the Web UI
- Should you bind a directory with more than 1 Calibre Library in it, CWA will intelligently compare the disk sizes of all discovered libraries and mount the largest one
- CWA supports only one library per instance though support for multiple libraries is being investigated for future releases
- In the meantime, users with multiple libraries who don't want to consolidate them are advised to run multiple, parallel instances
-
NEW FEATURE - Easy Dark/ Light Mode Switching ☀️🌙
- Switch between Light & Dark Modes in just one click from anywhere!
- Simply click/tap the 🕶️ icon on the Web UI's navbar and switch between themes at your leisure
-
NEW FEATURE - Internal Update Notification System 🛎️
- Users will now be automatically notifed of the availability of new updates from within the Web UI
- Automatically triggered by a difference between the version number of the most recent GitHub release and the version installed
- Set to only show once per calendar day until updated as to not be annoying
- Visible to Admin users only
- Users will now be automatically notifed of the availability of new updates from within the Web UI
-
NEW FEATURE - Manual Library Refresh ♻️
- Ever had books get stuck in the ingest folder after an unexpected powercut ect.? Well say goodbye to having to manually copy the books to be ingested back in and out of the ingest folder, simply press the
Refresh Library
button on the navbar of the Web UI and anything still sitting in the ingest folder will be automatically ingested!
- Ever had books get stuck in the ingest folder after an unexpected powercut ect.? Well say goodbye to having to manually copy the books to be ingested back in and out of the ingest folder, simply press the
-
NEW FEATURE - Batch Editing & Deletion! 🗂️🗄️
- Say goodbye to clicking that edit button again, and again, and again just to remove or edit a single series!
- To use, simply navigate to the
Books List
page on the left hand side of the Web UI, select the books you wish to edit/ delete and use the buttons either above the table or within the headers to do whatever you need!- Courtesy of @jmarmstrong1207
Bugfixes 🐜:
- Fixed a slew of permissions related issues that previously prevented Proxmox users and users with NAS-Based systems from being able to run CWA without issue. These configurations are now officially supported!
- Fixed a bug with cover_enforcer.py where books with '/' characters in the title or author's name(s) would break the process
- Fixed a bug that resulted in excessive memory usage over time when ingesting large libraries (1000+ books)
Tweaks/ Minor Improvments ✨:
- The Version Numbers of the installed distributions for CWA, Calibre, Stock CW, Kepubify and the Linuxserver.io base image are now all displayed at the bottom of the Settings page
- Added links to the CWA Github and Discord in the Settings Page
- Added Consistent CWA Branding throughout