Repository navigation
OperaLibre 0.4.0
What's changed
Libro.fm
- Get books from Libro.fm. Connect a Libro.fm account, browse and search your purchases, and import them straight into the server library. M4B is preferred, with an MP3 archive fallback; downloads are validated and never overwrite existing books. Tokens stay on the server and each reader's catalog is kept separate.
- Download to this device, no server needed. On iOS and Android, Get books → Libro.fm can send purchases to the on-device library, including local-library mode. Transfers run in the background, recover when the app returns, and can be cancelled or retried. Device tokens live in the iOS Keychain or Android Keystore and never reach the web layer.
- Library and Get books replace the old source tabs, with an Audible / Libro.fm selector. An optional owner-configured watched folder still imports existing DRM-free downloads.
- See
docs/libro.mdfor setup and privacy details. Libro.fm's app API is unofficial and may change upstream.
Landscape layouts
- iPhone landscape: Games put the board or keyboard under the thumb, the Ledger sets totals beside the listening calendar, and Settings flow into two columns.
- iPad landscape: Games, a compact Ledger dashboard, two-column Settings, and headings raised beside the floating tab bar.
- Shelf as a book wall: a two-line toolbar and tighter cover grid, with progress shown as a gold rule on the cover and a ribbon for finished books. On iPad the shelf can be hidden or widened to fill the screen.
- Administration keeps its section list fixed while the chosen section scrolls beside it.
Fixes
-
iPad's floating tab bar is tappable again, and pages no longer run underneath it.
-
The iPad shelf header wraps its actions instead of clipping them, and the blurred clock band is gone on iPad.
-
Read-along no longer pulls a page you turned by hand back to the narrated page.
-
Read-along recognises arcing thumb swipes and short flicks as page turns.
-
fix: make iPad's floating tab bar tappable and clear the page (#133) (
7eff010) -
fix: wrap the iPad shelf header actions instead of clipping them (#134) (
0784c52) -
fix: drop the clock veil on iPad (#135) (
d81f76d) -
feat: put the games under the thumb in iPad landscape (#136) (
cf083d0) -
feat: set the Ledger as a compact dashboard in iPad landscape (#137) (
aa2d1c1) -
feat: raise headings beside the iPad tab bar in landscape (#138) (
aabd2e1) -
feat: set Settings in two columns on iPad landscape (#139) (
55b8cc5) -
feat: let the iPad shelf hide or fill the screen (#140) (
ff5557b) -
fix: keep read-along from pulling a hand-turned page back (#132) (
159fb91) -
fix: recognise the read-along swipes a thumb actually makes (#141) (
9f467fe) -
feat: landscape layouts for iPhone, shelf and administration (#143) (
aad9110) -
docs: note the 1.2.2 iOS release (
cd9a841) -
chore: remove unused screenshot artifacts (
9c3c035) -
feat: browse and import Libro.fm purchases (
cea82c1) -
fix: polish import shelf refresh and controls (
0c2b78f) -
Simplify Libro import collision check for strict Clippy (
285a6f6) -
feat: download Libro.fm purchases directly to native devices (
0978346) -
fix: support older Android credential storage and validate final download host (
ab33711) -
fix: decode native Libro responses as Foundation JSON (
4ca7081) -
fix: identify rejected Libro catalog fields safely (
7e6b36b) -
fix: normalize numeric Libro ISBNs for device imports (
ad854e7) -
feat: add Libro cover grid with list view by default (
7743c1b) -
fix: compact Libro controls and use local cover fallback (
835d4d4) -
fix: compact phone purchase header above the book list (
5432a55) -
fix: share compact purchase header with Audible (
0bf74b9) -
fix: align Libro list actions in a right-hand column (
b6d3a1c) -
fix: accept numeric provider ISBNs in server catalogs (
e2b72f8) -
fix: narrow Libro publication locks and purge deleted-user tokens (
4ac14b0) -
fix: discard native Libro job records once they are terminal (
dc15d0d)
Full changelog: 0.3.12...0.4.0
Downloads
The easy way (macOS and Linux)
One command downloads the right package for your computer, verifies its SHA-256 digest, walks you through setup, and starts the server — and updates an existing installation in place when run again:
curl -fsSL https://raw.githubusercontent.com/DonovanMontoya/OperaLibre/main/script/install.sh | sh
Add | sh -s -- --help to see its options, including --server-only for headless machines.
Which file should I download?
- Most people: download a
combinedpackage for your computer. It includes the server and web app, starts in the background, and opens in your browser without leaving a Terminal window open. - Server only: download a
serverpackage when the frontend will be hosted separately or you are using another client. - Frontend only: download the file ending in
frontend.zipwhen you already have an OperaLibre or Jellyfin server and want to deploy only the static web app. - Android: the file ending in
android-unsigned.apkis an unsigned release build for developers or distributors to sign before installation. - Update packages: files containing
updateare downloaded and verified automatically by compatible combined and server-only installations; you normally do not need to download them yourself. - Deployment profiles: new installs start in
localmode. Chooselanfor a trusted LAN/VPN orproxybehind same-machine HTTPS; remote first-run setup uses a one-time server token. - Transfer limits: uploads, generated ZIP downloads, and simultaneous ZIP generation now have configurable server-side limits. Existing configs automatically receive safe defaults.
Choose windows-x64 for a 64-bit Windows PC, linux-x64 for a typical Intel/AMD Linux server, linux-arm64 for a 64-bit ARM Linux server or Raspberry Pi, macos-arm64 for an Apple Silicon Mac, or macos-x64 for an Intel Mac.
Every user-facing installation package contains a START-HERE.txt file. The SHA256SUMS.txt attachment can be used to verify downloaded files.
Administrators are notified in the app when a newer release is available. On combined and server-only release installations, an owner can install the matching verified package from Administration — server-only installations update just the server and leave a custom frontend untouched; other custom deployments use the release link for a manual update.
New users can follow the full release installation guide for first launch, adding books, phone access, backups, and updates.