Repository navigation
Releases: matt-shearing/bread-of-life
Release list
v0.5.1 — a new icon
A new icon
Bread of Life has a new icon: an arched window at first light, with a loaf on the sill. It replaces the old loaf everywhere:
- Desktop: the Linux, Windows and macOS app icons.
- Android: the launcher icon, including the single-colour version for themed icons (Settings → Wallpaper & style → Themed icons).
- During playback: the status-bar icon, which was a generic play symbol before.
- Online: the website.
Nothing else changes from v0.5.0.
v0.5.0 — backup, reading history, the Fold, NASB 2020 and the Amplified, and a lot of fixes
What's new
- Back up your record. Settings → Your data backs up everything to one file and restores it without duplicates. You can also export your journal, prayers and notes as Markdown.
- Reading history. A year-long reading calendar, with how much of each book you've read. The streak no longer breaks when you re-read a chapter. An "On this day" card shows prayers answered on this date in past years.
- Built for the unfolded Fold. The sidebar tucks away and the study panel slides over the text.
- Getting around.
- Links land on the exact verse, and the app remembers where you stopped reading.
- Type "jn 3:16" in search, or press Ctrl+K on a keyboard.
- More translations. Eleven more free translations, including the NET, Geneva and Douay-Rheims.
- Copyrighted translations with your own free key. The ESV, the NLT, the NASB 2020 and the Amplified Bible, each read through a free key from the publisher's service. Settings → Bible translations walks you through getting each one, with a prompt you can give your own AI agent.
- Prayer and listening.
- Pray through today's prayers one at a time.
- A sleep timer for audio.
- Prayers can now be edited, archived and restored, and journal drafts are never lost.
- Fixes and speed.
- Audio uses much less battery.
- Play works again after a network drop, and Maps prompts pause the narration in the car.
- Sync no longer loses edits made during an upload or on a device with a fast clock.
- The app starts about twice as fast.
Worth knowing
- Sync server features. Some sync features switch on once the sync server is updated: reading history and key sync between devices, sign out of all devices, password change and account deletion. Until then everything works on each device as before.
- Reminders. Reminder and translation-key settings are kept per device.
v0.4.0 — Now Playing, Android Auto, Spurgeon read aloud, reading reminders
What's new
- Earphone pause and resume works. Pausing from your earphones and resuming a while later no longer plays two seconds and then goes silent.
- Now Playing. Tap the mini-player for a full-screen player. For a daily reading it lists the day's readings, ticks them off as they play, and has a Next reading button. On an unfolded Pixel Fold the player and the list sit side by side.
- Android Auto. Bread of Life has its own icon in Android Auto:
- Today: continue listening, today's reading, and each reading.
- Bible: book and chapter tiles.
- Devotional: today's Morning and Evening.
- Recent: what you played lately.
- Car buttons: back 30 seconds, Next reading, and speed.
- Voice: "play John 3" works.
- Plan progress: chapters finished in the car count towards your plan.
- Spurgeon read aloud. Morning and Evening each have a Listen button, with all 732 readings recorded in a warm British voice. Offline, the app uses your phone's own voice. On GrapheneOS that needs a text-to-speech app such as RHVoice from F-Droid.
- Reading reminders. Two daily reminders, at 2 pm and 8 pm by default; you can change or switch off either, and add up to four. They stop once you've done the day's reading, even on another device, and mention your streak.
- Fixes:
- The streak no longer shows 0 every morning until you've read.
- The devotional reminder no longer repeats every few hours.
- Reminders now come back after the phone restarts.
- Skipping chapters no longer marks them read.
Android Auto on GrapheneOS: one-time setup
- Install Google Play services (sandboxed Google Play) and Android Auto from the GrapheneOS App Store.
- Go to Settings → Apps → Sandboxed Google Play → Android Auto, and turn on the permissions for wired Android Auto, or wireless if you use it.
- Open Android Auto's settings and tap Version and permissions info ten times. Then go to ⋮ → Developer settings and turn on Unknown sources. This is needed because the app comes from Obtainium; an Android Auto update can switch it off again.
- If the icon doesn't appear, force-stop Android Auto and reconnect, then check Customize launcher.
Details are in the "Android Auto" section of docs/MOBILE.md.
If audio misbehaves
Go to Settings → Copy audio debug log and send it over. It records every earphone, lock-screen and car button press.
Spoken devotionals (audio data, not an app release)
Spurgeon's Morning and Evening read aloud (Kokoro-82M, voice bm_george). The app downloads these; there is nothing to install here.
v0.3.11
v0.3.11 — the reading plan actually follows your account Ships the cross-device reading-plan sync that v0.3.10 announced but, through a release-packaging mistake, did not contain. Also delivers v0.3.10's reading-plan audio fixes, which never reached users either. A release commit that changes anything but the version is now refused by CI.
v0.3.10
v0.3.10 — reading plan syncs across devices + plan-audio progress fixes
v0.3.9
🌾 Bread of Life v0.3.9
"All files access" on Android, done right — and the Missler library finally usable on your phone.
New
- Browse… folder picker on Android — point the app at your Missler (Line by Line) commentary library anywhere on your phone; it maps the picked folder to a real path and reads it in place.
- All files access via a proper Kotlin plugin (replacing v0.3.7's approach, which crashed — reverted in v0.3.8).
- Missler commentary audio plays on Android — served through the native player so it works on device.
- Carries the v0.3.8 Settings-crash fix and the desktop Browse picker.
Install
- Android — Obtainium or sideload the APK. · Linux — AppImage/
.deboryay -S bread-of-life-bin. - Windows —
.exe. · macOS — universal.dmg.
Offline-first, your data stays on your device. Made with ♥.
v0.3.8
🌾 Bread of Life v0.3.8
A hotfix for a crash introduced in v0.3.7.
Fixed
- Android: opening Settings no longer crashes the app. v0.3.7's "All files access" feature reached the Android runtime in a way that isn't compatible with how the app is built, and crashed the moment the Settings screen tried to use it. That mechanism has been removed.
Still here from v0.3.7
- Browse… folder picker for the Missler library path (desktop).
- A permission-free
Android/mediadrop folder, auto-created on launch — a file-manager-writable place to drop your library, no adb needed. - Network import works across a
host:portaddress (e.g. a Tailscale machine).
"All files access" (reading a library in place from Downloads / any shared folder) will return in a later version, reimplemented properly so it can't crash.
Install
- Android — via Obtainium (auto-updates) or sideload
bread-of-life-v0.3.8.apk. - Linux —
AppImage/.deb, or on Arch:yay -S bread-of-life-bin. - Windows —
x64-setup.exe. · macOS — universal.dmg.
All your data stays local and offline-first. Made with ♥, for the glory of God.
v0.3.7
🌾 Bread of Life v0.3.7
A smoother Missler Inspired library on every platform — getting your library into the app, and letting the app find it, is now a lot less fiddly.
What's new
- Browse… for your library folder (desktop) — pick the Missler library folder with a native file picker in Settings → Missler Inspired instead of typing a path.
- "All files access" on Android — grant it once and the app reads your library in place from Downloads or any shared-storage folder, no network import needed. Settings shows a prompt with an Allow file access… button, and re-checks the moment you return from the system toggle.
- A permission-free drop folder, made for you — on launch the app creates
Android/media/com.breadoflife.app/missler-library, a folder your file manager, MTP or Syncthing can write to without any permission — the zero-fuss place to drop a library if you'd rather not grant all-files access. - Network import fix — the importer now works across a
host:portaddress (e.g. a Tailscale machine serving the built library), not just a bare host.
Under the hood
- Native Android JNI bridge to
Environment.isExternalStorageManager()+ the MANAGE_EXTERNAL_STORAGE settings intent, all behind#[cfg(target_os = "android")](desktop is unaffected). - Builds on v0.3.6's continuous background audio (press play on any chapter and it rolls through the whole canon, in the background, with lock-screen controls).
Install
- Android — via Obtainium (auto-updates) or sideload
bread-of-life-v0.3.7.apk. - Linux —
AppImage/.deb, or on Arch:yay -S bread-of-life-bin. - Windows —
x64-setup.exe. · macOS — universal.dmg(Apple Silicon + Intel).
All your data stays local and offline-first. Made with ♥, for the glory of God.
v0.3.6
Bread of Life v0.3.6 — continuous general-Bible audio playback