Changelog
All notable changes to ABS-KoSync Enhanced will be documented in this file.
[6.3.3] - 2026-03-21
✨ Added
-
Library Suggestions Page
- Scan unmatched titles
- Review likely audiobook/ebook pairs
- Queue approved matches in bulk
-
Booklore Audiobook Support
- Use Booklore audiobooks as the audio side of a sync
- Integrated into matching, batch processing, suggestions, Forge, and dashboard tracking
-
Flexible Linking Flows
- Ebook-only links
- Storyteller-only links
- One-click Refresh Booklore Cache action in Settings
-
Enhanced Suggestions System
- Background scanning with progress updates
- Cached repeat scans
- Full Refresh option for full-library rescans
-
Improved Source Visibility
- Clearer source badges across:
- Match
- Batch Match
- Suggestions
- Dashboard
- Enhanced audio-source detail display
- Clearer source badges across:
-
Improved Storyteller Transcript Handling
- More tolerant of real-world file layouts
- Priority order:
- Storyteller timing
- SMIL
- Whisper fallback
🔧 Diagnostics & Controls
-
Test Connection Buttons
- Added to all services:
- ABS, KOSync, Storyteller, Booklore, CWA, Hardcover, Telegram
- Performs live connectivity checks
- Returns specific errors:
- Wrong URL
- Invalid credentials
- DNS failure
- Timeout
- Disabled/unconfigured states
- Added to all services:
-
Instant Sync Toggle
- New setting:
INSTANT_SYNC_ENABLED - Enables/disables event-driven sync globally
- When disabled:
- Socket listener is off
- Falls back to poll cycle
- New setting:
-
Instant Sync Tuning
- New setting:
ABS_SOCKET_DEBOUNCE_SECONDS(default: 30s) - Controls delay after playback events before sync
- Lower = faster sync
- Higher = less load during scrubbing
- New setting:
-
Per-Client Polling
- Storyteller and Booklore can use custom poll intervals
- Independent from global sync cycle
- Only triggers sync on real position changes
-
Shared Write Suppression
- Centralized via
write_trackermodule - Prevents feedback loops across:
- ABS
- KoSync
- Storyteller
- Booklore
- Centralized via
📚 Storyteller Enhancements
-
Transcript Priority Source
- New priority:
- Storyteller (forced alignment)
- SMIL
- Whisper
- New priority:
-
Optional Assets Directory
- New setting:
STORYTELLER_ASSETS_DIR - Path:
{root}/assets/{title}/transcriptions - Optional and skipped if unset
- New setting:
-
Native Alignment Maps
- Built directly from
wordTimeline - Includes:
- Chapter
- Local UTF-16 character offsets
- Local timestamps
- Global timestamps
- Built directly from
-
Direct Timestamp → EPUB Locator
- For Storyteller-backed books
- Converts audiobook timestamps directly to EPUB positions
- Bypasses fuzzy text matching
-
Backfill Action
- Bulk ingest/re-ingest transcripts
- Rebuild native alignments for existing books
-
Forge Pipeline Integration
- Transcript ingestion and alignment generation now built into Forge
⚡ Sync & Automation
-
Event-Driven Real-Time Sync
- Uses ABS Socket.IO listener
- Sync triggers:
- Audiobook play/pause
- KoSync PUT events
- Syncs across:
- KoSync
- Storyteller
- Booklore
- Hardcover
- Typical delay: ~30 seconds
- Configurable via:
ABS_SOCKET_ENABLEDABS_SOCKET_DEBOUNCE_SECONDS
-
Suggestion Discovery from Events
- Unknown-book socket events now trigger automatic suggestion discovery
🖥️ Dashboard Improvements
-
Search
- Instant client-side filtering
- Search by title or author
- No page reload required
-
Quick Actions
- ⚡ Sync Now → triggers immediate sync
- ✅ Mark Complete → marks finished across all platforms
- Optional mapping cleanup prompt
-
Version Badge Cleanup
- Dev builds:
Build dev-N - Releases:
vX.Y.Z - Removed redundant prefixes
- Dev builds: