Release Highlights
- Library: You can now organize books into configurable bookshelves, tag books in bulk
- Audiobooks: You can download Audiobookshelf books for offline listening, stream audiobooks from OPDS catalogs and BookOrbit
- Reading: You can now open HTML files as books, and select, highlight, and look up text in Paragraph Mode
- Sync: Reading progress refreshes when you return to the app, WebDAV sync is more reliable, and Readwise exports now include bookmarks
- TTS: You can now browse and resume your books from Android Auto and pick up recent books from CarPlay
- PDF: Page-turn animations now work on PDFs, comics, and fixed-layout books, and wide comic pages get a spread of their own
- KOReader: Added background sync, group downloads, and more library controls, and highlights you delete stay deleted
- Dictionary: Pronunciations can play automatically on lookup, accented words are easier to find
- More: Backups are much faster and keep the screen awake, and fixed freezes on App launch and in image-heavy chapters
What's Changed
- release: version 0.12.8 by @chrox in https://github.com/readest/readest/pull/6135
- fix(library): keep the context menu actions wired to their items by @chrox in https://github.com/readest/readest/pull/6143
- fix(reader): draw the selection toolbar above the footnote popup by @chrox in https://github.com/readest/readest/pull/6146
- fix(ci): bundle libxkbcommon-x11 in the CEF AppImage by @chrox in https://github.com/readest/readest/pull/6151
- fix(proofread): keep selection rules applied after a toggle, edit or reopen (#6148) by @chrox in https://github.com/readest/readest/pull/6152
- chore(deps): bump the github-actions group with 3 updates by @dependabot[bot] in https://github.com/readest/readest/pull/6166
- fix(txt): detect Chinese chapters numbered with 两 or uppercase numerals (#6172) by @chrox in https://github.com/readest/readest/pull/6181
- fix(annotator): keep a highlight's rounded caps on its own page, closes [#6128] by @chrox in https://github.com/readest/readest/pull/6182
- feat(reader): hide the image viewer controls on tap by @chrox in https://github.com/readest/readest/pull/6183
- Fixed translation error by @tygoee in https://github.com/readest/readest/pull/6215
- fix(reader): keep sliders mirrored when a book turns the layout RTL by @jadhavgaurav in https://github.com/readest/readest/pull/6168
- docker: pull minio images from quay.io, Docker Hub removed them by @thietala in https://github.com/readest/readest/pull/6196
- fix(payment): resolve the user's plan across every billing provider by @chrox in https://github.com/readest/readest/pull/6228
- fix(reader): open image-heavy sections in paged mode without freezing by @chrox in https://github.com/readest/readest/pull/6229
- fix(linux): drop the WebKitGTK assumptions now that Linux is CEF only by @Berserker-GM in https://github.com/readest/readest/pull/6218
- chore(deps): bump the github-actions group with 5 updates by @dependabot[bot] in https://github.com/readest/readest/pull/6236
- ci(android): stop asking sdkmanager for the removed
toolspackage by @chrox in https://github.com/readest/readest/pull/6238 - Fix page-turn direction fallback and add missing applyMarginAndGap for vertical layout by @JackyHe398 in https://github.com/readest/readest/pull/6197
- fix(opds): persist sync progress incrementally so a large first sync can converge by @raman325 in https://github.com/readest/readest/pull/6237
- fix(android): stop the app freezing at launch on a page load deadlock by @chrox in https://github.com/readest/readest/pull/6240
- test(paginator): wait for the scroll relocate in the scrolled cover test by @chrox in https://github.com/readest/readest/pull/6243
- chore(agent): update agent memories by @chrox in https://github.com/readest/readest/pull/6244
- fix(epub): play embedded media the OPF manifest never declares by @chrox in https://github.com/readest/readest/pull/6245
- feat(reader): animate page turns on PDF, CBZ and fixed-layout books by @chrox in https://github.com/readest/readest/pull/6246
- fix(tts): keep a non-English book on its own voice when the doc says en-US by @chrox in https://github.com/readest/readest/pull/6247
- fix(reader): select text on a long press near a link on Android (#6242) by @chrox in https://github.com/readest/readest/pull/6248
- fix(paginator): keep an RTL book's progression when a re-render lands mid-load by @chrox in https://github.com/readest/readest/pull/6249
- fix(reader): backward page curl on PDF/CBZ froze a few pixels in by @chrox in https://github.com/readest/readest/pull/6250
- feat(reader): animate Push on PDF, CBZ and fixed-layout books by @chrox in https://github.com/readest/readest/pull/6251
- fix(reader): keep a page-wide image inside its column in paginated mode by @chrox in https://github.com/readest/readest/pull/6252
- fix(macos): keep the traffic lights on the library page and stop them jumping on navigation by @chrox in https://github.com/readest/readest/pull/6253
- feat(reader): confirm before following external links by @chrox in https://github.com/readest/readest/pull/6254
- fix(ios): restore cross-page selection on iPadOS 27 by @chrox in https://github.com/readest/readest/pull/6255
- fix(reader): let the macOS annotation export save to disk (#6201) by @chrox in https://github.com/readest/readest/pull/6260
- feat(reader): select, highlight and look up text in Paragraph Mode by @chrox in https://github.com/readest/readest/pull/6258
- fix(ios): keep reader screen awake with native idle timer by @chrox in https://github.com/readest/readest/pull/6261
- fix(reader): restore tablet toolbar taps at fractional display density by @chrox in https://github.com/readest/readest/pull/6263
- feat(audiobookshelf): sync reading progress for ebook-only books (#6257) by @chrox in https://github.com/readest/readest/pull/6264
- feat(audiobookshelf): download books for offline use and import ABS zips from the web browser by @chrox in https://github.com/readest/readest/pull/6267
- fix(abs): stream audiobook tracks through a loopback media proxy so self-signed servers play (#6216) by @chrox in https://github.com/readest/readest/pull/6268
- fix(annotator): hand the selection back when the instant dictionary closes by @chrox in https://github.com/readest/readest/pull/6272
- perf(reader): split chapter loading to reduce swipe stalls by @chrox in https://github.com/readest/readest/pull/6266
- feat(reader): give each wide comic page a spread of its own (#6210) by @chrox in https://github.com/readest/readest/pull/6273
- fix(reader): preserve style tag attributes in the style transformer by @jadhavgaurav in https://github.com/readest/readest/pull/6270
- fix(nix): add imagesize to the CEF lockfile by @chrox in https://github.com/readest/readest/pull/6274
- feat(reader): cache wide comic pages and find them in streamed comics (#6210) by @chrox in https://github.com/readest/readest/pull/6276
- fix(bookdrop): only sound on a completed transfer, enable Nearby BookDrop by default by @chrox in https://github.com/readest/readest/pull/6277
- feat(reader): add pull-down bookmark gesture setting by @chrox in https://github.com/readest/readest/pull/6278
- fix(sentry,about): report the real WebView build via webview_version() by @k6G52m4Dz75W in https://github.com/readest/readest/pull/6275
- test(bookdrop): make the cue test independent of test order by @chrox in https://github.com/readest/readest/pull/6279
- feat(reader): import and render HTML files, closes [#6198] by @chrox in https://github.com/readest/readest/pull/6281
- feat(dictionary): auto-play pronunciation on lookup by @chrox in https://github.com/readest/readest/pull/6280
- fix(nix): don't query wry's webview_version on Linux by @chrox in https://github.com/readest/readest/pull/6282
- feat(readwise): export bookmarks and their notes by @chrox in https://github.com/readest/readest/pull/6294
- fix(android): recognize iReader devices in e-ink detection by @k6G52m4Dz75W in https://github.com/readest/readest/pull/6293
- fix(backup): keep the screen awake and move bulk zip work to Rust, closes [#6291] by @chrox in https://github.com/readest/readest/pull/6299
- fix(translate): remember source language per book by @chrox in https://github.com/readest/readest/pull/6300
- feat(wordlens): Traditional Chinese hints and an English→Arabic pack by @chrox in https://github.com/readest/readest/pull/6303
- fix(test): stop ResizeObserver notices flooding the browser-test log by @chrox in https://github.com/readest/readest/pull/6305
- fix(linux): explain missing X11 display on startup by @chrox in https://github.com/readest/readest/pull/6302
- feat(android): browse and resume books in Android Auto by @kelvinalfaro in https://github.com/readest/readest/pull/6285
- feat(opds): stream audiobooks from OPDS catalogs, with a BookOrbit connector (#6224) by @chrox in https://github.com/readest/readest/pull/6301
- fix(reader): keep highlight options inside the reading area by @chrox in https://github.com/readest/readest/pull/6306
- chore(agent): update agent memories by @chrox in https://github.com/readest/readest/pull/6309
- feat(audiobook): stream BookOrbit audio through the loopback media proxy (#6224) by @chrox in https://github.com/readest/readest/pull/6308
- fix(sync): retry failed WebDAV writes without advancing config state by @chrox in https://github.com/readest/readest/pull/6310
- fix(sync): preserve WebDAV errors and report incomplete syncs by @chrox in https://github.com/readest/readest/pull/6311
- fix(reader): prevent vertical toolbar swipes from paging Push books by @chrox in https://github.com/readest/readest/pull/6313
- fix(mobile): align reader menus and improve dialog dismissal by @chrox in https://github.com/readest/readest/pull/6314
- fix(translate): decode HTML entities in popup text by @chrox in https://github.com/readest/readest/pull/6317
- fix: correct remaining-time sorting and chapter estimates by @chrox in https://github.com/readest/readest/pull/6319
- fix(dictionary): normalize Unicode and fold Latin diacritics by @chrox in https://github.com/readest/readest/pull/6320
- feat(koreader): background sync, group downloads, and library controls by @chrox in https://github.com/readest/readest/pull/6321
- fix(koreader): keep synced highlight deletions from reappearing by @chrox in https://github.com/readest/readest/pull/6322
- fix: refresh sidebar note timestamps every minute by @kv-chiu in https://github.com/readest/readest/pull/6324
- feat(library): add configurable bookshelves by @chrox in https://github.com/readest/readest/pull/6329
- fix(library): improve e-ink pagination and bookshelf sync by @chrox in https://github.com/readest/readest/pull/6330
- fix(reader): keep note editors open until saving succeeds by @chrox in https://github.com/readest/readest/pull/6331
- fix(sync): refresh reading progress when the app resumes by @chrox in https://github.com/readest/readest/pull/6332
- fix(reader): read M4B chapters when moov comes after the audio (#6262) by @knigam in https://github.com/readest/readest/pull/6327
- feat(library): book tags in the list view and a Tag Books action by @chrox in https://github.com/readest/readest/pull/6334
- fix(ui): smooth bottom-sheet gestures and Settings scrolling by @chrox in https://github.com/readest/readest/pull/6335
- fix(library): prevent scrollbar initialization layout shift by @chrox in https://github.com/readest/readest/pull/6336
- chore(payments): end the Full Customization grace period for storage add-ons by @chrox in https://github.com/readest/readest/pull/6337
- fix(reader): size annotation toolbar to enabled actions by @chrox in https://github.com/readest/readest/pull/6338
- fix(payments): store Play cancellation time as a timestamp by @chrox in https://github.com/readest/readest/pull/6342
- feat(ios): add CarPlay recent books and fix scene handoff by @chrox in https://github.com/readest/readest/pull/6339
- fix: harden ebook content and proxy trust boundaries by @chrox in https://github.com/readest/readest/pull/6343
- fix(tts): bound startup probes and filter Apple system voices by @chrox in https://github.com/readest/readest/pull/6345
- fix(android-auto): play cold EPUBs in media service by @kelvinalfaro in https://github.com/readest/readest/pull/6341
- fix: align player headers and restore mobile view menu dismissal by @chrox in https://github.com/readest/readest/pull/6346
- chore(agent): update agent memories by @chrox in https://github.com/readest/readest/pull/6348
- release: version 0.12.10 by @chrox in https://github.com/readest/readest/pull/6349
New Contributors
- @tygoee made their first contribution in https://github.com/readest/readest/pull/6215
- @thietala made their first contribution in https://github.com/readest/readest/pull/6196
- @Berserker-GM made their first contribution in https://github.com/readest/readest/pull/6218
- @JackyHe398 made their first contribution in https://github.com/readest/readest/pull/6197
- @raman325 made their first contribution in https://github.com/readest/readest/pull/6237
- @kelvinalfaro made their first contribution in https://github.com/readest/readest/pull/6285
- @kv-chiu made their first contribution in https://github.com/readest/readest/pull/6324
- @knigam made their first contribution in https://github.com/readest/readest/pull/6327
Full Changelog: https://github.com/readest/readest/compare/v0.12.8...v0.12.10