Stash v0.9.88 — ListenBrainz, Last.fm loves, and a lot of things that were quietly broken
Two new integrations, plus four fixes for problems that were hiding in plain sight.
New
ListenBrainz scrobbling. MetaBrainz's open alternative to Last.fm — your listening
data stays yours and exportable. Paste your token from listenbrainz.org/profile in
Settings → Accounts and it starts scrobbling. There's a separate toggle if you want
scrobbles without a live "now playing" status.
One thing worth knowing up front: it scrobbles from the moment you connect, not
backwards. Stash keeps every play it has ever recorded, and dumping years of history
into your profile in one go isn't something you should get without asking for it.
Hearts now reach Last.fm. Stash already imported your Last.fm loved tracks and
mirrored hearts to Spotify and YouTube — but never sent them back to Last.fm, so
anything you hearted appeared everywhere except the service you'd imported from.
Turn it on under "Sync your likes". Un-hearting only removes loves Stash itself
added; anything you loved on Last.fm before installing is left alone.
Fixed
Your YouTube playlists could vanish from Home after a sync. If any single part of
a YouTube sync hiccuped — one mix's tracks failing, one page of a listing erroring —
every other YouTube playlist looked "missing" for that run and got hidden. Sync now
only removes playlists when it's confident it saw your whole library. (Thanks to
@ParaliyzedEvo for this one.)
Some tracks played the wrong song, or refused to play. When a track's identity
changed — a wrong-match swap, an approved resync, an automatic upgrade to a better
source — the old stream was still cached against it. Depending on timing that meant
either "this won't play" or, worse, playing a completely different song. Several
reports that looked unrelated turned out to be this. (Also @ParaliyzedEvo — good
catch.)
Save Data barely saved any data. It dropped you from hi-res to CD quality, which
is still lossless — about 28 MB for a four-minute track. If you turned it on to
protect a limited data plan, it wasn't really helping. It now streams at 320 kbps,
roughly 10 MB per track. Downloads are unaffected; this only applies to streaming.
Tracks without a lossless match started about five seconds faster. Stash was
still asking two sources that no longer work before falling back, and waiting on
each one in turn. Measured on a real phone: about 4.8 seconds of every such play was
spent waiting for answers that were never coming. Combined with last release's
extraction fix, these tracks now start in around three seconds instead of twenty.
Under the hood
Crossfade diagnostics that an open playback investigation depends on were restored
after nearly being lost, and the new stream-cache invalidation was changed so it
can't silently drop events during bulk operations — which would have brought back
the wrong-song bug intermittently.
Install
Download the .apk below and open it on your Android device. If you've got a previous Stash release installed, this upgrades in place — your library, sync history, and settings are preserved.
Requires: Android 8.0 (API 26) or newer.
See the README for first-time setup.
What's Changed
- Fix multiple issues with syncing songs by @ParaliyzedEvo in #384
- Evict stale StreamUrlCache entries when a track's youtube_id changes by @ParaliyzedEvo in #383
- Make Save Data actually save data, and stop waiting on dead sources by @rawnaldclark in #389
- ListenBrainz scrobbling, and mirror hearts to Last.fm loved tracks by @rawnaldclark in #390
Full Changelog: v0.9.87...v0.9.88