Skip to content

Releases

OpenReader Native v1.4.4

Choose a tag to compare

@gil906 gil906 released this 08 Nov 21:04

Fix PDF Reopening to Stale Page 30 & Unify Reading Position Across Modes

  • Unified reading progress across all modes: Whether you listen in Server, Saved server / offline, or Phone / offline mode, your latest reading ordinal and page are stored in unified keys (doc-progress:<id>, doc-page:<id>) and synced back to the OpenReader server's user_document_progress database (PUT /api/user/state/progress).
  • Fix auto-switching resetting to page 30: When opening a PDF that automatically activates ready Saved server / offline audio, the reader now preserves your saved reading position instead of snapping back to the PDF viewer's initial page (_page = 1) or the old cached initialPosition from when the PDF was first saved offline.
  • Immediate save on pause, scroll, and app close: Pausing audio, scrolling pages, backgrounding, or closing the app immediately flushes your exact page and passage so you never lose your spot.
  • Includes exact audio/word synchronization & auto-repair: Preserves exact cached server passage durations and automatically repairs any older unverified timing manifests on open.

Install OpenReader-Native-v1.4.4.apk over your existing app (no uninstall needed).

OpenReader Native v1.4.3 — Exact Audio/Word Sync & Auto-Repair

Choose a tag to compare

@gil906 gil906 released this 07 Nov 11:38

Fixes saved server audio timing drift (where an expired export timing session previously fell back to guessed passage durations) and auto-repairs existing saved recordings on open without re-downloading the MP3.

OpenReader Native v1.4.2

Choose a tag to compare

@gil906 gil906 released this 05 Nov 19:14

Warm Editorial Stone & Terracotta redesign inspired by Readwise Reader, Apple Books, Matter, and Magic UI (highlighter + scroll-progress + bento cards): replaced neon cyan/laser beams with warm charcoal stone (#181614), cream paper (#FAF7F2), and terracotta (#D97757) accents, refined literary iconography, and a new custom Android launcher icon.

OpenReader Native v1.4.1

Choose a tag to compare

@gil906 gil906 released this 05 Nov 18:51

Added native Save to Device (Downloads folder via Android MediaStore) and Share sheet (FileProvider) in the top AppBar, More tools sheet, and Offline Library for PDFs, prepared MP3 audiobooks, and page text.

OpenReader Native v1.4.0

Choose a tag to compare

@gil906 gil906 released this 05 Nov 18:38

Magic UI-inspired Aurora Obsidian Edition: rounded capsule dock with animated BorderBeam glow during narration, Live Karaoke mini-caption pill, Smart Scrubbing HUD with live page topic preview + progress bar, and glowing rounded word highlights.

OpenReader Native v1.3.6

Choose a tag to compare

@gil906 gil906 released this 05 Nov 18:26

Adobe Acrobat Reader Android-style UI redesign: continuous vertical page scroll with pinch-to-zoom, auto-hiding right-edge black fast-scroll page pill with center page indicator overlay while dragging, sleek 5-item dark bottom bar, and Adobe-style overflow bottom sheet with OpenReader-relevant tools.

OpenReader Native v1.3.1

Choose a tag to compare

@gil906 gil906 released this 05 Nov 16:35

Hide server preparation and keep reading

  • Add Hide once the server accepts narration work. The native app remains
    usable while generation continues on the server.
  • Android Back also hides an admitted server preparation.
  • Keep a pending reminder in Offline library. Reopening preparation restores
    Server / save on phone and Resume.
  • Resume cached server work and finish downloading the MP3 when you return.
  • Do not let a hidden server dialog release the native reader's screen wake lock.

Hiding pauses local monitoring/downloads, not server generation. This does not
add an Android background download service or background phone synthesis.
Phone generation still needs its preparation screen kept open.

Install the signed ARM64 APK over the existing app; saved documents, voices,
audio and reading progress are preserved. No personal documents, account data,
credentials or signing keys are included.

The matching Android source ZIP and linux/amd64 Docker-load installer image are
provided with SHA-256 checksums. The full illustrated guide and server/container
configuration remain in the public repository.

OpenReader Native v1.3.0

Choose a tag to compare

@gil906 gil906 released this 02 Nov 18:51

Phone narration repair and server-generated offline audio

  • Fix number-only passages producing no Kokoro audio. Existing completed
    passages and the installed voice pack are preserved; resume preparation
    instead of deleting the saved narration.
  • Choose Phone / offline voice or Server / save on phone under
    Prepare entire PDF audio.
  • Download complete server narration and PDF timings for continuous offline
    playback, without the model pack or a server connection.
  • Switch between Phone / offline, Saved server / offline, and live
    Server in the PDF's audio-source menu.
  • Preserve the server's voice/blend, canonical paragraph plan and available
    word alignments. Missing word alignments are explicitly approximate.
  • Keep incomplete or skipped server exports from replacing a complete recording.
  • Fix a PDF-layout readiness race exposed by immediately available saved audio.

Signed ARM64 APK updates v1.2.0 without removing app data. Phone preparation
still requires the open screen; server jobs can continue while phone preparation
is stopped. All supplied documents/screenshots are synthetic. No user PDFs,
credentials, private configuration, or signing keys are distributed.

The Docker-load download image is linux/amd64, containing only the reviewed
APK, corresponding Android source and pinned voice pack. The full container
and server configuration remains in the public repository. Verify SHA256SUMS
before installation or docker load.

OpenReader Native v1.2.0

Choose a tag to compare

@gil906 gil906 released this 02 Nov 10:04

OpenReader Native v1.2.0

A native Flutter PDF reader with local Kokoro voices, not a WebView wrapper.

What's new

  • Save PDF + all narration: prepare a complete phone-voice recording ahead of time, stop/resume preparation, and retain each prepared voice outside the temporary audio cache.
  • Continuous playback: queue local audio ahead instead of restarting the player for every paragraph. Fully prepared narration plays without loading voice models or generating speech while reading.
  • PDF word following: source-scoped glyph matching handles interleaved PDF text, partial chunks, and common ligatures. Offline timing remains approximate; server timing uses OpenReader's detailed word data.
  • Phone/server switch: change voice source inside the same PDF. Uploading a phone-only PDF to your configured server requires confirmation.
  • Independent pace: phone and server playback speeds are saved separately.
  • Android Open with: open or share granted PDF files from other apps. Choose OpenReader Native and Always in Android's chooser to use it as your default PDF viewer.
  • Fit page: a quick view control alongside dark PDF pages, fullscreen, paragraph selection, and foldable layouts.

Install

Install OpenReader-Native-v1.2.0.apk over the existing app to preserve saved settings and documents. The APK supports ARM64 Android 7.0+.

For standalone narration, install the pinned English voice pack once from Offline library & voices. Existing voice packs remain compatible. Save/import a PDF, then use its offline-library menu to Prepare entire PDF audio.

Keep the preparation screen open. Long recordings use additional storage; stopping or interrupting preparation does not discard already saved passages.

Container

The public openreader_mobile-container-v1.2.0.tar.gz is a self-contained linux/amd64 installer-download image. Load it with Docker and follow the repository's Compose instructions. It contains only public installer assets, not any user's documents or server data. Other architectures can build the pinned Dockerfile.

Privacy and licensing

The public source, APK, source archive, and container exclude personal uploads, PDFs, private configuration, credentials, and signing keys. All README screenshots use deliberately fabricated reading-room demo text.

Repository-local privacy hooks, release checks, and contributor instructions apply to future changes. Matching app source and upstream license notices are provided under GPL-3.0-or-later.