๐ฏ Major Feature Enhancement
"Want to Read" sync is now enabled by default! This release makes the sync tool more useful out-of-the-box by automatically syncing unstarted books to Hardcover as "Want to Read" status.
โจ Key Changes
Default Behavior Change
- Breaking Change:
SYNC_WANT_TO_READnow defaults totrueinstead offalse - User Impact: Books with 0% progress automatically sync as "Want to Read" status
- Migration: Set
SYNC_WANT_TO_READ=falseto restore old behavior (sync only books with progress)
Enhanced User Experience
- Out-of-the-Box Value: No configuration needed for comprehensive library sync
- Reading List Management: Maintain "Want to Read" lists in Hardcover automatically
- Migration Friendly: Perfect for users moving from other platforms
๐ New Documentation
- Added comprehensive "Want to Read Sync" section to README.md
- Updated environment variables table with new defaults
- Included feature explanation, use cases, and configuration examples
๐งช Robust Testing
- Created comprehensive test suite in
want_to_read_test.go - 17 total tests covering environment variables and status logic
- 100% test coverage for the "Want to Read" feature
๐ Status Mapping
- 0% progress โ "Want to Read" (status_id=1) โจ NEW DEFAULT
- 1-98% progress โ "Currently Reading" (status_id=2)
- 99-100% progress โ "Read" (status_id=3)
โ๏ธ Configuration
# Feature is now enabled by default - no configuration needed!
# To disable (restore old behavior):
SYNC_WANT_TO_READ=false
# Other ways to disable:
SYNC_WANT_TO_READ=0
SYNC_WANT_TO_READ=no๐ณ Docker Images
# Latest stable release
docker pull ghcr.io/drallgood/audiobookshelf-hardcover-sync:v1.3.2
docker pull ghcr.io/drallgood/audiobookshelf-hardcover-sync:latest
# Multi-architecture support (amd64, arm64)๐ Technical Details
- Enhanced book filtering logic to include 0% progress books when enabled
- Improved
getSyncWantToRead()function with robust default handling - Added debug logging for "Want to Read" sync operations
- Maintains backward compatibility while improving user experience
- No performance impact - optimized filtering logic
This release makes the sync tool significantly more valuable for new users while preserving full control for existing users who prefer the previous behavior.