github dani84bs/AnnotationSync.koplugin v1.1.0
Release v1.1.0

3 hours ago

Release Notes: v1.1.0

We are excited to release AnnotationSync v1.1.0! This version introduces major enhancements, headlined by Multi-Device Reading Progress Synchronization, native integration with KOReader's core Cloud Storage plugin, and robust background operation.

Warning

Important Compatibility Note: The new Reading Progress Sync and core Cloud Storage integration require a development or nightly build of KOReader. If you are on an older or stable release of KOReader, these features will gracefully degrade (disabled/greyed out in the menu) with an explanation button.


๐Ÿš€ Features

  • Multi-Device Reading Progress Sync: Automatically synchronize your active reading page, progress percentage, and precise position (pos) across all your reading devices.
  • Smart Reflowable EPUB Alignment: Sync progress based on the last word of a page (or last-but-3 words) to guarantee that you land on the correct reading location even if font size, margins, or device orientations differ.
  • Background Sync with Trapper: Progress updates now sync quietly in the background using a helper subprocess (Trapper), avoiding annoying toast notification popups on page turns.
  • Core Cloud Storage Integration: Migrated from custom storage setup to KOReader's core cloudstorage plugin, giving you unified configuration for Dropbox, FTP, WebDAV, etc.
  • Graceful Backward Compatibility: Introduced a fallback mechanism for older KOReader versions that lack native cloud storage APIs. Progress settings are greyed out, and a "Why are some options greyed out?" help dialog is shown.

๐Ÿ› ๏ธ Bug Fixes & Stability

  • macOS Emulation Support: Fixed fork-related emulator crashes on macOS by improving async execution in background tasks.
  • Position Preservation: Ensured that structural document positions (pos attributes) are properly merged and preserved.
  • Resilient File Writing: Replaced manual file-system operations with core KOReader APIs (util.makePath and util.writeToFile) to prevent data corruption during writes.
  • UI Polish: Auto-close jump dialogs upon selecting a device progress destination and fixed manual sync destination lookups.
  • Safety Guards: Prevented a nil pointer dereference error in restoreAnnotation.

๐Ÿงช Under the Hood

  • Expanded the test coverage with unit specs verifying background sync logic, backward compatibility hooks, settings persistence/sanitization, and progress synchronization merges.

Installation

  1. Download AnnotationSync.koplugin from this release.
  2. Extract it to your KOReader plugins/ directory (make sure the folder is named exactly AnnotationSync.koplugin).
  3. Enable Annotation Sync in KOReader's plugin settings.

Full Changelog: v1.0.1...v1.1.0

Don't miss a new AnnotationSync.koplugin release

NewReleases is sending notifications on new releases.