Releases: Lwb89dev/voyager
Release list
Voyager v0.2.1
Voyager v0.2.1
A patch release: real bug fixes reported from live use, plus a round of navigation HUD repositioning.
Fixes
- Vosk model download — fixed "OS error: directory not empty, errno 39". Extraction now happens in a fresh, uniquely-named scratch directory and is only swapped into place once complete, instead of deleting-then-reusing the model's own folder (which could collide with a previous attempt's leftovers).
- Amber / nsec login — fixed the profile screen reading as logged out even right after a successful login. Both flows updated the displayed name/flavor but never set the field
_loggedInactually checks. This is a genuine bug in Roadstr's ownprofile_screen.dart, patched here for now. - Music folder permission — picking a folder in Settings now actually makes the Music tab notice. Previously the plugin's failed state was set once at startup and nothing told it to look again, so "cannot read audio files" stuck around even after fixing exactly that.
- Enlarged the retry button on a failed plugin's placeholder screen, and the Kokoro/Vosk download button — both read as disabled controls at their previous size.
Navigation HUD (landscape and portrait)
- Speed/cancel-trip card now aligned with Voyager's own chrome row in landscape instead of floating a full chrome-height above it.
- Stop button halved in size, card gap tightened.
- Turn-instruction card moved to the top-left; the voice-mute toggle is now its own independently-docked button, top-right, instead of trailing inside the instruction card.
- Speed-limit sign moved to roughly mid-screen height in landscape.
- Current-street label: level with Voyager's chrome row in landscape; moved between the speedometer card and the speed-limit sign, left-aligned, in portrait.
Installation
Same as previous releases — pick the build matching your device:
voyager-v0.2.1-arm64-v8a.apk— almost every phone from the last ~8 years. Pick this unless you know otherwise.voyager-v0.2.1-armeabi-v7a.apk— older 32-bit ARM devices.voyager-v0.2.1-x86_64.apk— Intel/AMD.
All three are signed with Voyager's own release key.
Voyager v0.2.0
Voyager v0.2.0
Navigation HUD, in-app voice model downloads, and a round of real fixes reported from actual driving/testing use.
Navigation HUD
- Fixed dead whitespace in the speed/cancel-trip card, made the speedometer bigger, and switched new installs to Roadstr's "minimal" speedometer style by default.
- The turn-instruction card now docks top-right instead of spanning the top edge, freeing the centre of the map.
- The current-street label moved down to sit level with the FAB column instead of floating a full chrome-height above it.
- In landscape, Voyager's own chrome row and Roadstr's bottom bar/FABs now share the same row where there's room; portrait keeps them stacked, where there isn't.
Settings
- Added a light-theme toggle — scoped to the Settings screen itself. The driving surfaces (map, music, podcasts) stay dark always, on purpose.
- Removed the Privacy section (redundant with what's already in the README).
- Roadstr's own bottom-bar "menu" icon now opens Voyager's settings instead of Roadstr's native settings screen, which exposed a second, differently-shaped Kokoro control panel over the same underlying settings.
- Fixed the onboarding welcome page showing a broken-image icon.
Voice
- Kokoro and Vosk speech model downloads are now available directly in Settings and in onboarding.
- Fixed Vosk model downloads failing with "No file extension detected" — the in-progress download file needed a real
.zipextension before extraction, not.zip.part. - Enlarged the download button — it previously read as a disabled control.
- Added a retry action on a failed plugin (e.g. after granting a permission from system Settings that was denied during onboarding) — previously the only way back was restarting the app.
Music
- Support for more than one music folder as a source, with existing single-folder choices carried over automatically.
Weather
- Now respects the shared imperial/metric unit toggle instead of always showing °C and km/h.
Fixes
- Amber (NIP-55) login was silently doing nothing — the Android manifest was missing the package-visibility declaration for the
nostrsigner://scheme, which hid the Amber app from the login plugin even when installed. - Music and podcast playback now actually stop when the app is removed from Android's recents, rather than continuing indefinitely in the background.
Installation
Same as v0.1.0 — pick the build matching your device:
voyager-v0.2.0-arm64-v8a.apk— almost every phone from the last ~8 years. Pick this unless you know otherwise.voyager-v0.2.0-armeabi-v7a.apk— older 32-bit ARM devices.voyager-v0.2.0-x86_64.apk— Intel/AMD.
All three are signed with Voyager's own release key.
Voyager v0.1.0
Voyager v0.1.0 — first release
The first public build of Voyager: an Android automotive dashboard built on
Roadstr, combining navigation,
music, podcasts, weather, on-device voice guidance and phone into one
glanceable, touch-friendly interface for a phone mounted in a car.
Highlights
- Navigation — Roadstr in full: OpenStreetMap maps, OSRM routing, speed
camera and speed-limit warnings, restricted-traffic zone (ZTL) alerts, and
community road reports over Nostr. Voyager's own floating control bar sits
over the map in every orientation without ever colliding with Roadstr's own
controls, in portrait or landscape. - Music — streams from a self-hosted Navidrome or Jellyfin server, or
plays files already on the device via Android's MediaStore. Gapless
playback, steering-wheel and Bluetooth AVRCP controls, and a five-band
output equalizer with genre presets (rock, pop, jazz, metal, hip-hop/rap)
alongside driving-specific ones (road noise, speech clarity, boost). The
now-playing screen and its controls live only in the Music tab. - Podcasts — search the iTunes directory with no account required,
subscribe, and play episodes through the same playback engine as Music
(starting one stops the other). Feed fetches are size-bounded so a
misbehaving feed can't exhaust memory mid-drive. - Weather — Open-Meteo, keyless, with coordinates rounded before the
request leaves the device. Flags conditions that actually change how you
should drive rather than just showing a forecast. Adapts to a compact
horizontal layout in landscape. - Voice guidance — spoken turn-by-turn instructions run entirely on the
device: Kokoro neural TTS where supported, eSpeak-NG everywhere else. - Phone — incoming calls and texts as large glanceable cards layered over
whatever you're doing. No dialer, deliberately.
Privacy & security
- No account, no analytics, no crash telemetry.
- Server credentials (Navidrome/Jellyfin) are stored in a Hive box encrypted
with a key held in the Android Keystore, never in plain text, and never
included in Android backups. - Subsonic-style authentication uses a per-request salted token rather than
sending the raw password on every call. - Every network response Voyager reads from a server you configured is
size-bounded, so a misbehaving or malicious endpoint can't run the app out
of memory. - No Google libraries anywhere in the APK — verified against the built
artifact, not just the build configuration, bytools/check_no_google.sh.
Known limitations
- Speech recognition (voice commands) is not implemented yet — Vosk
integration is stubbed and documented in
docs/SETUP_VOSK_STT.md. - No screenshots in the README yet.
Installation
Builds are split by ABI instead of one universal APK, so the download matches
what your device actually needs rather than carrying every architecture's
native code at once:
voyager-v0.1.0-arm64-v8a.apk— almost every phone from the last ~8
years (64-bit ARM). Pick this unless you know otherwise.voyager-v0.1.0-armeabi-v7a.apk— older 32-bit ARM devices.voyager-v0.1.0-x86_64.apk— Intel/AMD, e.g. some emulators and a handful
of x86 tablets.
All three are signed with Voyager's own release key. Or build from source per
the README.
Requirements
Android phone or tablet. Optional: a self-hosted Navidrome or Jellyfin server
for streamed music.