Application Overview
Stash is an offline-first Android music player that syncs liked songs, playlists, daily mixes, and discover mixes from Spotify and YouTube Music into a unified local library. Tracks are downloaded as high-quality FLAC audio. The application operates as a personal library tool, requiring existing Spotify or YouTube Music accounts.Technical Specifications
| Requirement / Attribute | Specification Details |
|---|---|
| Android Version | 8.0+ |
| License | Free and Open Source (GPL-3.0), No Ads, No Subscriptions |
| Architecture Support | arm64-v8a, armeabi-v7a, x86, x86_64 |
| Screen DPI Support | 160dpi, 240dpi, 320dpi, 480dpi, 640dpi |
| Languages | Full Multi-Language support |
| Security & Privacy | AES-256-GCM credential encryption, no external servers, no telemetry |
| Package Integrity | Untouched APK with original hash signature (MD5: 51572c31db0cf8ec5d499a5da790aebf) |
Core Features
- Offline Playback: All tracks are downloaded locally as lossless FLAC audio.
- Track Matching: Features a 99% accuracy rate for source track matching.
- Library Management: Supports custom playlist creation and individual sync preferences for Spotify and YouTube Music playlists, liked songs, and mixes.
- Extended Mix Detection: Automatically detects Spotify Release Radar, Discover Weekly, On Repeat, Daylist, Repeat Rewind, Time Capsule, and Daily Mixes 1-6 with individual sync toggles.
- Sync Modes:
- Refresh: Replaces mix contents during each sync.
- Accumulate: Stacks new tracks on top of existing ones.
- Download Engine: Supports up to 8 parallel downloads operating via a foreground service to ensure completion while the device is locked.
- Audio Options: Includes high-resolution album art rendering and a full 5-band equalizer with presets, bass boost, and a virtualizer.
- Authentication: Built-in native Spotify sign-in.
- Updates: Automated daily GitHub checks for application updates.
Release Notes: v0.9.26
1. Stash Mixes (Beta) Opt-Out
- Added a toggle in Settings to disable Stash Mixes background processes.
- Disabling cancels background workers (refresh, discovery, discovery download, tag enrichment, and track info enrichment).
- Hides Daily Discover, Deep Cuts, and First Listen sections from Home and Library interfaces without deleting previously downloaded discovery tracks.
- Re-enabling restores recipes, playlists, schedules workers, and triggers an immediate surface refresh.
2. Library Albums Tab Enhancements & Schema Migration
- Resolved issues preventing downloaded albums from grouping under album cards.
- Fixed missing album fields on Search-tab downloads and missing artist fields on the Album-page tracklist parser.
- Database Schema Bump (v24 -> v25): Added an
album_artistcolumn to ensure multi-artist collaboration albums stay grouped under a single card while identical album titles by different artists remain separated. - Implemented a one-shot startup backfill that populates missing album and
album_artistmetadata from embedded file tags or local directory structures automatically upon launch.
3. Download Performance Optimization
- Moved loudness measurement (
ffmpeg ebur128pass) off the critical download path into a background scope. Files are marked as downloaded as soon as they hit disk, and loudness database writes execute asynchronously. - Wrapped
upsertSearchTrackin arunCatchingblock to resolve a database exception bug, ensuring the UI download spinner clears reliably upon completion.
You do not have permission to view the full content of this post. Log in or register now.