Skip to content

Stash v0.9.14

Choose a tag to compare

@github-actions github-actions released this 07 May 15:27
· 1255 commits to master since this release

feat: 0.9.14 — Shuffle Library

Adds a "Shuffle Library" entry point at the top of the Library tab
that drops a freshly-shuffled snapshot of every downloaded track
into the queue, plus an auto-grow watcher in PlayerRepository that
appends 50 more tracks whenever the user nears the tail (threshold
5 remaining). Fixes the 0.9.13 complaint that per-playlist shuffle
felt like the same 30 songs on repeat with 1700+ tracks downloaded.

Implementation:

  • MusicRepository.getAllDownloadedTracks() reuses the existing
    TrackDao.getAllDownloadedNonBlacklisted() query — no new DAO.
  • PlayerRepository.shuffleLibrary() is a new entry point; setQueue()
    clears the auto-grow flag so per-playlist queues stay finite.
  • Auto-grow watcher is Mutex-guarded so concurrent state updates
    can't fan out into duplicate appends. Snapshot is excluded
    against the live queue's track ids before each refill.
  • ShuffleLibraryCard in LibraryScreen is glass-styled to match the
    search bar and chips below, single-line, no subtitle.

Also includes infra/tipjar-worker/seed-historical-supporters.ps1
(one-shot KV repair tool used to recover the supporter pill after
the post-Worker cohort lost the bundled-fallback names).

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com


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.9.13...v0.9.14