Repository navigation
Releases: SEKY443/Android-LibreThing
Releases · SEKY443/Android-LibreThing
Release list
v1.3.3
Fixes
- Fixed a real outage: a health-check-triggered restart could kill the whole app instead of just restarting the daemon, leaving it showing stale "discoverable" state for minutes until Android happened to revive it on its own. Also switched to a more reliable way of force-killing a stuck daemon process, since Android's own API for that turned out not to always work.
(I keep running this app for 4 days to catch this bug!!!) - Fixed the playback progress bar jumping around when a Spotify Connect session transfers to this device.
v1.3.2
Fixes
- Playback could silently stall for good on an autoplay radio station that ran out of tracks
mid-page — go-librespot kept retrying the exact same permanently-missing page every couple of
minutes for hours instead of recognizing there was nothing left. Fixed upstream. - Reduced Bluetooth disconnect/reconnect blips: the audio buffer had been trimmed for a faster
volume-change response, but that left too little margin against an ordinary scheduling hiccup —
an underrun that's a known trigger for a Bluetooth speaker to drop its connection. Restored the
larger buffer. - The in-app volume slider only ever pushed volume to the daemon, never to the phone's own
system volume — dragging it could silently drift out of sync with the system volume shown
elsewhere. Now kept in sync. - A daemon that hung (rather than crashed) could leave the app stuck showing stale state
indefinitely, since auto-restart only ever triggered on an actual process exit. Added a
periodic health check that detects an unresponsive daemon and restarts it the same way a crash
does. - Fixed a race where a superseded restart's delayed exit signal could spuriously restart a
session that had already recovered. - Fixed the playback progress bar jumping around when a Spotify Connect session transfers to
this device.
v1.3.1
Fixes
- OLED pixel shift no longer exposes a mismatched color at the screen edge when it nudges the
page - Reduced Bluetooth disconnect/reconnect blips: an automatic restart after a
go-librespotcrash
no longer tears down and recreates the Android-side audio output, which was a known trigger for
the connected Bluetooth device to briefly drop and re-establish its audio route.
(not fully fixed, if you run the app for hours like me you will notice it)
New
- Automatic cache clearing (optional, off by default) — wipes the cached track audio once it
grows past a size limit you set (50MB–2GB, 500MB by default), checked on every start.
(you can do that in the android setting, but i still added a option for doing it automatically)
v1.3.0
New
- OAuth 2.0 device authorization login — sign in with a code entered on any device, no shared Wi-Fi or browser callback on this device required. New "Device login" option in Settings' credentials dropdown.
- OLED protection: pixel shift and checkerboard dimming , both opt-in.
- Display filters: scheduled grayscale and red-light modes, each with its own start/end time.
- Automatic update checking (on by default, turn it off if you don't like it) — checks GitHub releases at most twice a day and prompts with a link when a newer version is out.
v1.2.1
Fixes
- Track-transition flash could still occasionally slip through with "Hide flash between
tracks" turned on — the masking window was 1.5s, bumped the window to 3s now :/ - Updated the bundled
go-librespotengine to the latestSEKY443/go-librespot-termux
(upstreamdevgianlu/go-librespot), pulling in:- OAuth 2.0 device authorization flow support (sign in via a code on another device,
not exposed in the app UI yet). - A fix for tracks seeking a few milliseconds on start when they shouldn't.
audio/mediacapability declaration.- Connect/TTS proto updates.
- OAuth 2.0 device authorization flow support (sign in via a code on another device,
v1.2.0
Fixes
- The cover didn't actually round during the shrink transition
- Swiping to skip from anywhere other than the cover art (with the full-screen gesture option
on) skipped the track but never animated the cover - Portrait dashboard: the title/artist position shifted depending on whether the "last session"
label was showing. - The console peek behind the shrinking cover sometimes left empty space at the top of the
frame.
New
- Gesture controls (Playback section, off by default). While a track is loaded: double-tap
the cover art to play/pause, swipe left/right to skip tracks, swipe up/down to adjust volume.
Comes with an adjustable haptic-strength slider, and works the same way while fake-sleeping
(the black-screen overlay) -- waking up then always takes a single tap instead of whatever the
fake-sleep wake setting is normally set to, so double-tap and swipes stay free for playback. - "Gesture area covers the whole screen" option. Normally gestures are scoped to the cover
art itself; this expands them to anywhere on the dashboard -- buttons, the volume slider, and
the console still work normally, since the gesture only ever claims touches nothing else has
already handled. - "Show console during transition" option. Peeks the last few log lines behind the cover
while it shrinks and slides on a swipe, instead of plain black. Disappears the instant the
animation ends. - "Round the cover while it shrinks" option (on by default). Matches the card's own rounded
corners as the cover shrinks and slides on a swipe, instead of staying square. - Fake sleep now wakes on a single tap by default, instead of requiring double-tap.
v1.1.0
Fixes
- Settings panel open/close animation stutter.
- Volume drifting to a different value shortly after a slider drag.
- Volume slider visibly snapping back and replaying its animation after a drag.
- Slightly high volume-change latency.
New
- "Hide flash between tracks" setting (Playback section, on by default). When a track ends
and go-librespot auto-advances to the next one, it briefly reports idle in between -- the
dashboard flashes to the idle screen for a moment before the next track appears. This doesn't
happen on a manual skip. It's harmless and some people like the look of it, so instead of
suppressing it outright, it's an option: turn it off to see the flash.
Initial Release
Librething v1.0 — Initial Release
Librething turns an Android phone or tablet into a standalone Spotify Connect speaker. It
runs go-librespot natively on-device as a managed
background service — no Termux, no computer, no separate hardware. Point Spotify at it like any
other Connect device and it plays through whatever speaker or headphones are attached.
This is the first tagged release.
- Real Spotify Connect device — discoverable automatically over Zeroconf/mDNS, or sign in
directly with interactive login or a cached token. - Runs in the background, screen off included, so a device can sit in a corner and just work
like a dedicated speaker. - Two dashboard styles — a clean, minimal "now playing" screen by default, or a classic
card-based layout with a full bottom-nav shell (Nerd mode) for more visible controls. - Fake sleep — fades the screen to pure black to protect OLED panels and stop the display
from being a distraction, either automatically after a period of inactivity or with one tap.
Wake it back up with a double-tap, a swipe, or single-tap (configurable), with a matching fade
animation either way. - Auto-restart on crash — if the background player dies unexpectedly, it relaunches itself
automatically instead of silently going offline. - Predictive back gesture support on the Settings screen (Android 13+).
- Appearance options — light/dark/system theme, plus tinted, pure-black, or blurred-cover-art
dashboard backgrounds. - Playback controls — bitrate selection, volume normalization (with album/track gain and
pregain), autoplay, and a live volume slider synced with the device's own volume. - A built-in log console with per-level color coding and copy/clear actions, for actually
seeing what's going on when something doesn't work instead of guessing. - Reliability options — keep-screen-on, wake lock, autostart on boot, and a battery
optimization exemption shortcut, since Android will otherwise suspend a backgrounded speaker. - Fully string-resource backed UI, laying the groundwork for future translations.
Requirements: Android 7.0 (API 24) or newer.
Credits
Built on go-librespot by
devgianlu, licensed under GPLv3 — see LICENSE and
the README's licensing note for how it's distributed alongside this app.