github rawnaldclark/Stash v0.5.5
Stash v0.5.5

latest releases: v0.9.95, v0.9.94, v0.9.93...
3 months ago

feat: 0.5.5 — Stash Discover is 100% Last.fm + backlog fixes + network mode setting

Three paired changes that deliver the end-to-end intent for Stash Discover:
the mix is now pure Last.fm recommendations, the pipeline can actually
produce enough tracks per week to keep it fresh, and users can relax the
background-download constraints when WiFi + charging is too conservative
for their situation.

100% Last.fm Stash Discover. StashMixDefaults.discoveryRatio is 1.0f
(up from 0.6). MixGenerator skips its "shortfall backfill from library
pool" step when ratio == 1.0 so pure-discovery recipes never fall back
to familiar tracks. StashMixRefreshWorker's empty-tracks early-return
now gates on discoveryRatio == 0 — pure-discovery mixes produce an
empty generator result by design, and the playlist gets its content
from the Discovery re-link pass + the async StashDiscoveryWorker, not
MixGenerator. Fresh-install users with no listening history fall back
to library-top-artists as similar-artist seeds instead of skipping the
Last.fm call entirely, so Stash Discover populates on day one.
STASH_DISCOVER_TUNING_VERSION bumped to 2 so existing installs re-tune
automatically.

Backlog fixes. PER_RECIPE_WEEKLY_CAP raised 30 to 100 — with a 50-slot
mix at 100% discovery the old cap couldn't keep the queue drained, so
Last.fm was producing 3x faster than downloads completed. 30-day TTL
on stale PENDING discovery_queue rows runs at the top of
StashDiscoveryWorker.doWork so rows that never got picked up in a
month are evicted rather than clogging the drain order forever.

User-configurable download network mode. New DownloadNetworkMode enum
with three options: Wi-Fi + charging (current default), Wi-Fi any time,
and Any network (cellular too). DownloadNetworkPreference persists the
choice in DataStore. StashDiscoveryWorker and TagEnrichmentWorker now
take the mode as a schedulePeriodic parameter and use ExistingPeriodic
WorkPolicy.UPDATE so changing the setting replaces the running schedule
in place. Settings screen adds a new "Downloads — Run recommendations
when" radio group mirroring the existing Audio Quality pattern.

Verified on device after the 0.6 → 1.0 retune migration: Stash Discover
rebuilt from 71 mixed Spotify+YouTube tracks to 21 pure Last.fm
recommendations, and the refresh queued 120 new discovery candidates
(dedup against existing PENDING kept net-new ~60).


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.

Full Changelog: v0.5.4...v0.5.5

Don't miss a new Stash release

NewReleases is sending notifications on new releases.