github crocodilestick/Calibre-Web-Automated v4.0.0
Version 4.0.0 - Smart Automatic Duplicate Handling & Resolution πŸ”, a Gorgeous & Powerful New Stats Centre πŸ“Š, Magic Shelves ✨, Robust OAuth, Auto-Send & Auto-Fetch ✈️ Huge Performance Uplifts and more!

latest release: v4.0.1
18 hours ago

Note

"I'm honestly so excited to finally share this update with you all. We've tackled the duplicate book problem once and for all, built a sick stats system that actually shows you how your library is being used, added dynamic/Magic Shelves, and a powerful & robust new OAuth system. The amount of new features and fixes in this release is incredible. This is the biggest, most community-driven update CWA has ever had and I'm very grateful to everyone that helped work on it." - CrocodileStick

Supporting the Project ❀️

CWA is and always will be free and open source. If it makes your library life easier and you're able to support development, contributions go directly to:

  • Testing hardware (ereader devices & tablets ect.)
  • Development tools and infrastructure
  • Coffee β˜• (lots of coffee)

ko-fi


Major Changes πŸš€

NEW: Smart Duplicate Detection & Management πŸ”πŸ”—

Say goodbye to duplicate book headaches! The completely rebuilt duplicate system is smarter, faster, and actually catches duplicates you didn't even know you had.

  • Automatic Detection:

    • Hybrid SQL + Python Detection - Combines performant SQL queries with intelligent fuzzy matching to find 95% of duplicates other systems miss
    • Post-Ingest Scanning - Automatically checks for duplicates after importing new books
    • Scheduled Scans - Background task runs periodic checks with configurable cron scheduling
    • Incremental Scanning - Only scans books added/modified since last check instead of your whole library
    • Smart Title Normalization - Strips articles (A, The, etc.), special characters, and whitespace for accurate matching
    • Language-Aware - No more accidental flagging of translations as duplicates
  • Powerful Management:

    • Auto-Resolution - Optionally auto-merge duplicates based on your preferences (keep newest, keep oldest, or manual)
    • One-Click Merging - Merge duplicates directly from the Duplicates Manager with format consolidation
    • Batch Operations - Select and merge multiple duplicate groups at once
  • You're In Control:

    • Configure What Counts as a Duplicate - Decide exactly what matching criteria to use
    • Adjustable Thresholds - Set how strict or lenient the fuzzy matching should be
    • Format Awareness - Choose whether different formats of the same book count as duplicates
  • Beautiful, Useful Notifications:

    • Optional Alerts - Real-time feedback when duplicates are found or resolved, keeping you on top of your library whether you want to go full-auto or curate your library by hand (toggleable in CWA Settings)
    • Task Progress - Monitor duplicate scans & related jobs in the Tasks panel

Finally, a duplicate system that actually works! ✨

NEW: Magic Shelves πŸͺ„πŸ“š

Magic Shelves are dynamic, rules-based collections that automatically populate based on criteria you define. Think of them as smart playlists for your books!

  • Universal Filtering System:

    • Filter by Title, Author, Series, Publisher, Language, Tags, Read Status, Rating, Publication Date, Identifiers (ISBN, Hardcover ID, etc.)
    • Multiple filter types: Exact match, contains, starts with, ends with, regex patterns
    • Combine multiple rules with AND/OR logic for incredibly specific collections
    • Date range filtering with validation for publication years and addition dates
  • Pre-Built Templates:

    • Recently Added - Your newest acquisitions at a glance
    • Highly Rated - Books you've rated 4+ stars
    • No Cover - Quickly identify books missing cover art
    • Recent Publications - Books published in the last year
    • Incomplete Series - Series where you're missing entries
    • Yet to Read - Books you haven't started
    • All templates automatically created for new users and backfilled for existing users
  • Advanced Features:

    • Kobo Sync Integration - Magic Shelves can sync to your Kobo device just like regular shelves!
    • Tag-Based Syncing - Automatically sync books to Kobo when they match Magic Shelf criteria
    • Real-Time Updates - Shelves update automatically as your library changes
    • Custom Icons - Choose from hundreds of emojis to personalize your shelves
    • Book Counts & Caching - Lightning-fast performance with smart caching and tooltips showing item counts in sidebar
    • Stats Tracking - Magic Shelf usage is also tracked in the new stats dashboard system
  • Beautiful UI:

    • Modern, intuitive interface for creating and managing Magic Shelves
    • Visual rule builder with drag-and-drop priority
    • Live preview of matching books
    • Mobile-optimized with conditional formatting

Your library can organize itself now! πŸŽ‰

NEW: Auto-Send to eReader πŸ“§βš‘

Set it and forget it! Books can now be automatically emailed to your eReader as soon as they're ingested.

  • Fully Automated Delivery:
    • Hands-Free Reading - New books automatically appear on your Kindle, Kobo, or other eReader
    • Smart Scheduling - Configurable delay (1-60 minutes) allows time for metadata fetching and EPUB fixes before sending
    • Format Selection - Automatically sends in your preferred format (EPUB, MOBI, AZW3, etc.)
    • Multiple Recipients - Send to multiple email addresses/devices at once

  • Integration with CWA Pipeline:

    • Works with EPUB Fixer - Books are automatically fixed before sending to prevent Amazon rejections
    • Works with Auto-Metadata - Fetch metadata first, then send fully-tagged books
    • Task Tracking - Monitor auto-send jobs in the Tasks panel
    • Toast Notifications - Get notified when books are successfully sent
  • Flexible Configuration:

    • Per-User Settings - Each user can configure their own auto-send preferences
    • Conditional Sending - Only send books that match certain criteria (format, author, etc.)
    • Email Customization - Custom subject lines for Amazon's "convert" feature

Wake up to new books on your eReader every morning! πŸŒ…πŸ“š

NEW: Automatic Metadata Fetching on Ingest! πŸ·οΈπŸ€–

No more manually searching for metadata after importing books! CWA can now automatically fetch and apply metadata during the ingest process.

  • Seamless Integration:

    • Fetch on Import - Optionally fetch metadata automatically when books are ingested
    • Pre-Send Enrichment - Fetch metadata before auto-sending to eReader so your books arrive fully tagged
    • Provider Selection - Uses your preferred metadata providers (Google Books, Kobo, Hardcover, etc.)
    • Smart Fallback - If one provider fails, automatically tries the next configured provider and you control the hierarchy. Your library, your choice.
  • Configurable Behavior:

    • Toggle On/Off - Enable or disable auto-fetch in CWA Settings
    • Timing Control - Set when metadata fetch happens in the ingest workflow
    • Quality Control - Choose whether to overwrite existing metadata or only fill in missing fields
    • Choose Which Fields Get Updated - Only ever want certain fields to be automatically updated and others to be left alone? No problem! You can choose what gets updated when.
    • Smart Metadata Application System - When enabled, fetched metadata will only replace existing data if it appears to be better quality (e.g., longer descriptions, higher resolution covers). When disabled, fetched metadata will replace existing data as-is from the preferred provider.

Your books arrive perfectly tagged, automatically! πŸ“–βœ¨

NEW: Deep Stats & Analytics πŸ“Šβœ¨

Ever wondered who's using your library the most, what devices people prefer, or when peak reading hours are? The CWA Stats page has been completely rebuilt from scratch with 4 major sections packed with insights!

User Activity Statistics πŸ‘₯

  • Top Users by Downloads - See who's using your library the most
  • Reading Velocity - Track pages read and reading speed per user
  • Device Breakdown - Understand what devices your users prefer (Kobo, Kindle, web, etc.)
  • Format Preferences - Which formats are most popular?
  • Peak Usage Hours - Heat map showing when your library is busiest
  • Average Session Duration - How long users spend browsing
  • Search Success Rate - Percentage of searches that result in book views/downloads
  • Failed Auth Attempts - Security monitoring for unauthorized access attempts

Library Statistics πŸ“š

  • Publication Year Distribution - Visualize your collection's age range
  • Largest Series - See which series dominate your library
  • Rating Statistics - Average ratings, most highly-rated books
  • Most Fixed Books - Books that required the most EPUB fixes
  • Top Enforced Books - Books with the most metadata enforcement runs
  • Import Source Flows - Track where your books are coming from
  • Format Distribution - Breakdown of all formats in your library
  • Language Distribution - See the linguistic diversity of your collection

API Usage Statistics πŸ”Œ

  • OPDS Feed Activity - Monitor OPDS usage and popular feeds
  • Kobo Sync Stats - Track Kobo device syncs and downloads
  • KOReader Sync Stats - KOReader progress sync activity
  • REST API Calls - External API usage tracking
  • Hardcover Sync Stats - Hardcover.app integration activity

Time-Based Analytics & Export ⏰

  • User-Selectable Time Periods - View stats for custom date ranges (last 7 days, 30 days, 90 days, all time, custom)
  • User-Specific Filtering - Drill down into individual user statistics
  • CSV Export - Export any stat section as CSV for external analysis
  • Beautiful Charts - Interactive graphs with consistent dark mode styling
  • Real-Time Updates - Stats update as your library is used

Finally see what's really happening in your library! πŸ“ˆ

NEW: OAuth That Actually Works πŸ›‘οΈπŸ”

Let's be honest, OAuth has been a pain point for way too long. The redirect loops, the session weirdness, the cryptic errorsβ€”we've heard you. It's been completely rewritten from scratch to actually work properly.

  • New OAuth Features:
    • Auto-User Creation for LDAP & Reverse Proxy: Seamlessly integrate with Active Directory, OpenLDAP, and FreeIPA. New users can now be automatically provisioned upon their first login!
    • Reverse Proxy: Support for Authelia, Authentik, and Traefik ForwardAuth with configurable auto-creation of users.
    • Hybrid Flow Strategy - Google/GitHub use modern direct login, Generic OIDC uses dedicated flow for better compatibility
    • Disable Standard Login - Option to force OAuth-only authentication if that's your setup
    • Admin Role Protection - Prevents accidentally removing the last admin via OAuth
    • JWT Group Mapping - Properly extracts username/email from JWT tokens for various providers
    • Admin Toggle - Admin roles now have an explicit enable/disable toggle to prevent accidents
    • Generic OIDC Support: Connect to any OpenID Connect provider with ease!
    • Security First: Enhanced input validation, SQL injection protection, and comprehensive audit logging ensure your library stays safe.

No more OAuth headachesβ€”it just works now! πŸŽ‰

NEW: Better Kobo Integration πŸ“±πŸ’œ

Kobo support has been dramatically improved with better device communication, sync reliability, and metadata integration.

Enhanced Device Support & Endpoints πŸ“‘

  • Featured Products Endpoint - New /v1/products/featuredforkoboplus/ endpoint for newer firmware
  • Category Products - Added /v1/categories/<category>/products endpoint
  • Expired Token Handling - Returns proper 401 when authorization token expires instead of cryptic errors
  • Better Temp File Management - Fixed race condition causing incorrect books to download due to stale temp files

Annotation & Progress Sync πŸ”„

  • Cascade Delete Safety - Fixed orphaned progress sync records when books deleted (Thanks to doxxx!)
  • Safe Migration - Automatic database migration to add foreign key constraints for data integrity
  • Unit Tests - Added unit tests for cascade deletion behavior
  • Hardcover Client Handling - Gracefully handles missing per-user Hardcover tokens

Metadata Provider Integration 🏷️

  • Kobo Metadata Provider - Added Kobo as a first-class metadata source for better book information (Thanks to opswhisperer!)
  • Hardcover Sync Fixes - Resolved Kobo annotations not syncing to Hardcover properly

Your Kobo experience just got a whole lot better! πŸŽ‰

NEW: Enhanced Send-to-eReader Experience πŸ“§βœˆοΈ

We've completely rebuilt the "Send to eReader" functionality to give you total control over how your books are delivered.

  • New Modal Interface:
    • Multiple Recipients: Send a book to multiple email addresses at once
    • Ad-Hoc Sending: Type in any email address on the flyβ€”perfect for sending a book to a friend or a temporary device without adding it to your profile
    • User-to-User: Easily send books to other users on your CWA instance
  • Custom Subjects: Users can now customize the email subject line (e.g., "convert") to trigger specific behaviors on Amazon's end (Thanks to marauder37!)

NEW: EPUB Fixer 2.0 - No More Amazon E999 Errors! πŸ“§βœ…

Ever had Amazon reject your perfectly good EPUB with a cryptic E999 error? The EPUB Fixer has been completely overhauled to eliminate those rejections once and for all.

Critical Fixes for Kindle Compatibility

  • IETF BCP 47 Language Tags - Properly detects and repairs malformed <dc:language> tags (e.g., en-US vs. en) that trigger Amazon's E999 rejectionβ€”the #1 cause of Send-to-Kindle failures
  • XML Declaration Repairs - Fixes malformed XML declarations in OPF/NCX files that cause silent corruption
  • UTF-8 Encoding Declaration - Ensures all files have proper UTF-8 declarations to prevent character encoding errors
  • NCX Table of Contents Links - Resolves broken hyperlinks in the navigation document that cause reading app crashes

Content & Asset Cleanup

  • Broken CSS & Font Removal - Detects and removes malformed CSS files and corrupted font files that Amazon's validator rejects
  • Stray Image Tag Cleanup - Removes <img> tags with no source attribute that cause rendering errors
  • Improved Parsing Order - Optimized XML processing order prevents further corruption during fixes

The Amazon Send-to-Kindle service is notoriously strict about EPUB compliance. These fixes target the most common rejection causes found in EPUBs from Calibre conversions, Sigil edits, and web downloads.

Send books to Kindle with confidenceβ€”no more E999 errors! πŸ“¬

NEW: Hardcover.app ID Auto-Fetch πŸ’œπŸ€–

Automatically populate your library with Hardcover identifiers for better tracking and metadata!

  • Automatic ID Assignment:

    • Background Task - Scheduled task automatically fetches Hardcover IDs for books missing them
    • Task Scheduling - Integrated with CWA's task scheduler using schedule_task() method
    • Batch Processing - Efficiently processes multiple books in queue
    • Smart Matching - Uses title/author to find correct Hardcover editions
  • Settings Integration:

    • Configurable - Enable/disable auto-fetch in CWA Settings
    • Progress Tracking - Monitor auto-fetch tasks in Tasks panel
    • Invalid Token Handling - Gracefully handles invalid Hardcover tokens with user-friendly messages

Keep your Hardcover.app integration up-to-date automatically! πŸ’œ

NEW: Performance & UI Overhaul 🎨⚑

Across the board optimizations make CWA feel snappier and more responsive than ever, especially on large libraries.

Major Performance Wins πŸš€

  • Advanced Search Refactor - Queries now fetch only the necessary data for the current page, drastically reducing memory usage and load times for large libraries
  • Hot Books Optimization - Eliminated "N+1 query" issues by fetching all book details in a single efficient database queryβ€”book pages now load instantly on 50,000+ libraries
  • Thumbnail System 2.0:
    • WebP Optimization - Converted all background images and thumbnails to WebP, reducing page weight by 97%!
    • Always-Active - Thumbnails are now a core feature, ensuring covers load instantly even on large libraries
    • Lazy Loading - Improved lazy loading for covers makes scrolling smooth
  • SQLAlchemy Optimization - All queries now use joinedload(Books.data) to prevent N+1 queries and detached instance errors
  • New Internal Task Scheduler: A brand new, robust internal scheduler now manages background tasks, ensuring reliability even across container restarts
  • Python 3.13 Upgrade: The base image has been upgraded to Python 3.13, future-proofing the application and improving performance

Mobile UI Improvements πŸ“±

  • Better Dark Mode Layouts - Fixed numerous positioning issues in Dark Mode and improved the layout of book descriptions and login screens on mobile devices
  • Responsive Tables - Users table no longer scrolls off screen at lower resolutions
  • Touch Targets - Larger, more accessible buttons for mobile users

Book List Power Tools πŸ› οΈ

  • Bulk Actions - Added "Select All" and "Unselect All" buttons, plus Shift-Click functionality to select ranges of books
  • Quick Actions - Hover over any book to instantly Mark as Read, Send to eReader, or Edit Metadata
  • Clickable Duplicates - Book titles in Duplicates Manager now link to book pages for easy verification

Profile & Settings πŸ‘€

  • Profile Pictures - Live preview before saving, client-side auto-resize for fast uploads
  • Show Password Toggle - Added on the login screen for easier password entry
  • Better Organized Settings - Got rid of CW's clunky old menus with clean card-based layouts

Everything just feels faster and more polished! ✨

NEW: Better Metadata & Ingest πŸ“‹βœ¨

The ingest system has been refined with better logging, smarter error handling, and more reliable processing.

  • Ingest Improvements:

    • Better Logging - Enhanced logging for ingest_processor to track file progress
    • Error Recovery - More robust error handling for failed imports
    • Checksum Split Awareness - Checksums now respect split library configuration (Thanks to SethMilliken!)
    • Books Path Argument - Added --books-path to generate_book_checksums.py for flexibility
  • Metadata Features:

    • Permission Fixes - Resolved metadata update permission errors on network shares

Smarter, more reliable book processing! πŸ€–

NEW: Network Share Mode - Deploy Anywhere πŸŒπŸ’Ύ

Running CWA on a NAS or network share? Network Share Mode makes it possible with intelligent adaptations for NFS/SMB environments.

Important

Always set NETWORK_SHARE_MODE=true when running CWA on NFS/SMB shares to prevent database corruption and permission errors.

What It Does

  • Disables SQLite WAL Mode - Write-Ahead Logging requires file locking guarantees that many network filesystems can't provide. When NETWORK_SHARE_MODE=true, CWA automatically disables WAL on metadata.db and app.db to prevent "database is locked" errors and corruption risks

    [!WARNING]
    Enabling WAL mode on network shares can cause β€œdatabase is locked” errors and potential data loss.

  • Skips Permission Operations - Suppresses recursive chown operations that fail or cause permission conflicts on network shares (NFS often ignores or misinterprets ownership changes)
  • Polling-Based File Watching - Switches from inotify to a polling watcher that scans for new files every 5 seconds. Network filesystems often don't propagate filesystem events reliably, and polling ensures ingest always works

    [!NOTE]
    Polling mode may introduce a few seconds of delay when detecting new files, but ensures reliability on network shares.
    [!TIP]
    You can force polling mode on any setup with CWA_WATCH_MODE=poll.

When You Need It

  • NFS Mounts - Synology, TrueNAS, QNAP network shares
  • SMB/CIFS Shares - Windows network drives, Samba shares
  • Docker Desktop - Auto-detected! Docker Desktop mounts don't reliably propagate inotify events from the host filesystem
  • "Database is locked" Errors - If you're seeing these on a network share, this mode will eliminate them

Configuration

Set the environment variable in your docker-compose:

environment:
  - NETWORK_SHARE_MODE=true

Advanced: Force polling mode without disabling WAL using CWA_WATCH_MODE=poll for edge cases.

Deploy on any storage backend with confidence! πŸ’ͺ


Minor Changes ✨

Stability & Performance πŸ—οΈ

  • Database & Session Management:

    • Session Management - Fixed session management issues causing "DetachedInstanceError" across multiple endpoints
    • Race Condition Fixes - Added robust error handling for race conditions in cover_enforcer metadata log processing
  • Task System:

    • Scheduled Task Safety - Fixed race conditions in scheduled tasks causing database session corruption
    • Task Cancellation - Proper cleanup when cancelling long-running tasks
    • Better Error Handling - Improved error messages and recovery for failed background tasks

Security & HTTPS πŸ”’

  • HTTPS Support:

    • Internal API HTTPS - Internal API calls (ingest, library conversion) now respect SSL configuration
    • Health Check Fallback - Dockerfile HEALTHCHECK falls back to HTTPS if HTTP fails
    • External Link Upgrades - Upgraded ISFDB and Rakuten links to HTTPS
    • Helper Function - Added get_internal_api_url() for dynamic localhost URL generation
  • CSRF Protection:

    • Better Coverage - Added CSRF tokens to all forms and AJAX requests that were missing them
    • Magic Shelf Forms - Fixed CSRF validation on Magic Shelf edit pages
    • Clearer Error Messages - Better feedback when CSRF validation fails

UI/UX Improvements 🎨

  • Visual Polish:

    • Fixed Hardcoded Branding - All leftover "Calibre-Web" references replaced
    • Page Title Fixes - HTML characters no longer show up in page titles
    • CSRF Token Coverage - Added CSRF tokens to all AJAX requests that were missing them
    • Dark Mode Consistency - Fixed remaining dark mode styling issues across all pages
    • Task Table Styling - Fixed Tasks table inheriting both bordered and non-bordered classes
  • Book Management:

    • Duplicate Format Prevention - Validate book ID before adding format to prevent duplicates
    • File Size Display - Fixed file size inconsistency for email attachments
    • Cover Hover Links - Fixed book hover links not respecting X-Script-Name in dark theme
    • Clickable Duplicates - Book titles in Duplicates Manager now link to book pages

System Administration πŸ”§

  • Architecture Support:

    • Unsupported Arch Warnings - Added warnings for users on unsupported architectures
    • libasound2t64 - Added missing audio library for certain environments (Thanks to jeffonthemove!)
  • Service Management:

    • s6-notifyoncheck Fix - Corrected service readiness notification
    • cwa-init Improvements - Better initialization sequence and error handling
    • Logger Fixes - Changed logger.get_logger() to use log variable

Developer Experience πŸ› οΈ

  • Testing:

    • CI/CD Fixes - Resolved Docker build and test suite failures
    • OAuth Tests - Fixed new OAuth test in CI pipeline
    • Unit Test Coverage - Added tests for cascade deletion, checksums, and Magic Shelves
  • Code Quality:

    • Split Library Refactor - Improved error handling and test coverage for split library functionality
    • Schema Updates - Fixed comments in DB schemas causing SQL errors
    • Type Safety - Better null checking and type validation throughout codebase

New Integrations & Providers πŸ”Œ

  • LitRes Provider: Added support for LitRes metadata (Thanks to nstwfdev!)
  • Kubernetes Support: Added Kubernetes deployment examples (Thanks to opswhisperer!)

Documentation πŸ“š

  • Massive Wiki Updates: Comprehensive guides for OAuth, LDAP, Authentication, Magic Shelves, and Testing

Bugfixes πŸ›

Critical Fixes 🚨

  • Cover Enforcer Locking - Fixed database locking and race conditions in cover_enforcer preventing metadata updates
  • Foreign Key Cascade - Safe cascade deletion for progress sync tables prevents orphaned records
  • OAuth Token Storage - Fixed "NoneType object has no attribute token" error
  • Reverse Proxy Race - Fixed UnboundLocalError when reverse proxy authentication disabled
  • Session Expiry - No more unexpected session expirations or redirect loops

Format & Conversion πŸ”„

  • EPUB to PDF Conversion - Resolved "Cannot convert EPUB to PDF" error
  • Filename Handling - Fixed filename issues during PDF conversion
  • Case Sensitivity - Fixed *.PDF (uppercase) files not being recognized during upload
  • Format Validation - Better validation of supported formats before processing

OAuth & Authentication Issues πŸ”

  • #758 - Generic OAuth2 connection not working due to internal 500 error
  • #807 - OAuth token storage error: 'NoneType object has no attribute token'
  • #876 - Admin role lockout protection needed for OAuth users
  • #887 - UnboundLocalError when reverse proxy auth disabled

Kobo Integration Issues πŸ“±

  • #798 - Issue with sync from Kobo annotations to Hardcover
  • #802 - Kobo sync downloading incorrect books due to stale temp files and book hover links not respecting X-Script-Name in dark theme
  • #821 - Hardcover client initialization error for users without per-user token

EPUB & Kindle Compatibility πŸ“š

  • #920 - EPUB language tag handling causing Amazon Kindle E999 rejections

Format & Upload Issues πŸ“€

  • #801 - *.PDF (uppercase extension) not working when uploading books
  • #813 - Cannot convert EPUB to PDF
  • #866 - Duplicate format being added to books
  • #867 - File size display inconsistency for email attachments

UI & Display Issues 🎨

  • #672, #756, #759, #900 - Series index formatfloat filter causing 500 errors
  • #882 - HTML characters rendering in page titles
  • #906 - Inconsistent tag visibility in category views and shelves
  • #925 - 500 Internal Server Error when API request made to book without formats
  • Send Selected Path - Fixed /send_selected/ request path prefix (Thanks to tmacphail!)
  • Magic Shelf Nav - Fixed Magic Shelves not appearing in sidebar

Metadata & Library Issues 🏷️

  • #878 - Metadata update permission errors on network shares
  • #905 - Invalid Hardcover tokens not handled gracefully

Settings & Configuration βš™οΈ

  • #903 - Can't save CWA Settings on latest DEV-335 due to duplicate detection settings
  • Wildcard Accept-Language - Suppressed locale parsing error for wildcard headers to prevent log spam

System & Performance Issues ⚑

  • #818 - Internal API calls not respecting SSL configuration
  • #875 - Logger.get_logger() does not exist error
  • #918 - Race conditions in scheduled tasks causing database session corruption

Translations 🌍

Updated:

  • Portuguese (Brazil) (pt-BR) - Fixed wrong and missing messages (Thanks to alexantao!)
  • German (de) - Multiple translation updates (Thanks to ManuelDrescher, marodeur80!)
  • Dutch (nl) - Significant contributions from jordibrouwer & helmerzNL!
  • Polish (pl) - Updated Polish translations (Thanks to FilipMakowski!)
  • Russian (ru) - Continued improvements
  • Spanish, Italian, French, Hungarian, Korean, Chinese - Various fixes and improvements

Thanks to our Contributors! πŸ™

This release represents over 600 commits from an incredible community of developers, testers, translators, and users. Special recognition to:

Core Contributors πŸ’Ž

  • @BrachiumX - Duplicate merging, Kobo sync enhancements, Magic Shelf fixes, settings persistence
  • @doxxx - Cascade delete implementation and testing
  • @mehalter - WWW-Authenticate header compliance
  • @navels - Ingest metadata improvements and auto-send enhancements
  • @SethMilliken - Checksum split library awareness
  • @Caligatio - OAuth loop fixes and logging improvements
  • @aaronpowell - Duplicate merging UI
  • @halkeye - Logger fixes

Feature Contributors ✨

Bug Hunters & Testers πŸ›

Thank you to everyone who filed detailed bug reports, tested dev builds, and helped us track down elusive issues. The quality of this release is a testament to your dedication!


Upcoming changes

Major changes are still coming to CWA including:

  • A brand new Svelte based Frontend. The days of the current Bootstrap UI are numbers and migrating to Svelte ensures that the new UI will still be easy to edit and add to for as many contributors as possible due to it's very familiar syntax to traditional sites and can be compiled with Capacitor for native mobile apps which is very exiting
  • A new web reader, epub.js is a little dated now and there are now much better alternatives
  • A much more robust & powerful progress syncing system that will be able to have CWA act as a single source of truth for reading progress no matter what device you read from
  • Full Text Search functionality
  • 🐁 is coming very soon, the integration just had to be as sensible & respectful to the 🐁 and it's servers as possible and a good balance has now been reached

Supporting the Project ❀️

CWA is and always will be free and open source. If it makes your library life easier and you're able to support development, contributions go directly to:

  • Testing hardware (Kobo devices, tablets, various platforms)
  • Development tools and infrastructure
  • Coffee β˜• (lots of coffee)

Support on Ko‑fi

Don't miss a new Calibre-Web-Automated release

NewReleases is sending notifications on new releases.