v1.8.0 "Spine"
Your library gets a spine — a way to leave its mark on the wider record of what you've read — and a careful pass over the parts that have to hold.
Highlights
- Your reading, on Hardcover. Link your Hardcover account in Settings and Tome pushes your ratings and reading progress to it — one-way, opt-in, and nothing is ever deleted on Hardcover's side. A dedicated Hardcover page shows every synced book with its exact matched record, filterable by state, with per-book manual match / re-match / exclude. Matching is ISBN-first with a language-aware, audio-averse edition pin, so your profile shows the right edition — not a translation or the audiobook. Tokens are stored encrypted; server kill switch via
TOME_HARDCOVER_SYNC_ENABLED. - Half-star ratings, everywhere. Book and series ratings now take 4.5-style values — click the left or right side of a star. Existing whole-star ratings are untouched, and KOReader's native (whole-star) rating still syncs both ways without ever rounding your halves away. Once a book is matched on Hardcover, the book page also shows real page numbers ("p. 142 of 384") alongside the percentage.
- Highlights that travel both ways. Highlights you make in the web reader are now adopted natively by KOReader, and highlights from your KOReader appear inside the web reader — your commonplace book fills itself from whichever device you read on.
- Follow a series, hear when a volume lands. Follow an ongoing series and Tome tells you when a new volume is out, with an Upcoming Releases card on Home.
- A smarter Home and richer stats. Focus mode and your Reading DNA now live on Home, every book gets a fuller reading log, and a broad visual pass sharpened the dark themes, the dashboard hierarchy, the reading log, and the top bar.
Also
- A deep metadata overhaul — cross-source merge with unified ranking, an AniList manga source, a short-lived source cache with in-flight de-duplication, and honest rate limits. Plus
/scribe audit editionsto find and fix wrong-edition ISBNs. - File into libraries straight from the Bindery — the review form and batch bar now have a Libraries picker, and "Match all" applies the best metadata match to every queued file at once.
- A KOReader series-browser quality pass — live download progress, Retry on a failed load, "on device" markers, an "Open now?" prompt, and tight network timeouts so a dead server stalls for seconds, not a minute.
Fixed
- A sideloaded book can no longer hijack another book's reading progress. The last-resort filename matcher was too eager — a short title like "It" matched The Italian Job, a
Foo v2file landed on a standalone "Foo", a year (… - 1984 - …) was misread as "volume 1984" — each silently writing one book's position, sessions and highlights onto another. Matching is now strict and declines rather than guessing. (Tome-served downloads match by content hash and are unaffected.) - Reading position no longer flaps between two values, and marking a book "unread" on the web now sticks on your device instead of the device re-pulling the old position and undoing the reset.
- Reading history is more accurate — device sessions are clustered the way they're actually read (a one-third undercount corrected on real multi-year histories), files are recognised by content hash rather than just by name, and the big history import is memory-bounded so it won't OOM on large device databases.
- Crash-safe file operations — library reorganisation commits per file and works across mounts, book deletion can't leave a permanent ghost row, and "purge empty folders" no longer deletes Syncthing markers.
- Hardcover edition pinning no longer picks a translation's or the audiobook's edition for a matched book.
Security
- Quick Connect codes can no longer be brute-forced into a login — polling now requires a long secret issued to the requesting device, so a guessed six-character code gets nowhere.
- A KOReader sync registration can no longer claim your account — the unauthenticated registration endpoint no longer binds the new sync credential to a same-named Tome account.
Upgrading
- KOReader plugin: update to build 31 (TomeSync → Check for updates, or auto-check on launch). Graceful update — your existing plugin keeps working; you just won't get half-star round-trip (build 31), the series-browser polish (build 29), content-hash book matching (build 27), or the memory-bounded history import (build 26) until it self-updates. No manual reinstall, no reconfiguration; your synced positions, highlights, and reading history carry over.
- New optional settings:
TOME_HARDCOVER_SYNC_ENABLED(Hardcover push, on by default when a user links an account),TOME_HARDCOVER_SYNC_INTERVAL.