New Features
- library: Filter tracks missing verified ReplayGain tags
- library: Pause and resume library scans
- backend: Hold library scans in place while paused
- library: Select search results with a long press
- metadata: Add a primary artist tag mode
- metadata: Write primary-artist tags in native writers
- album: Replace selection sharing with metadata re-enrichment
- appearance: Add glass clarity controls and directional highlights
- lyrics: Keep the screen awake while viewing lyrics
Bug Fixes
- download: Stop crashing native finalization on Android regex
- backup: Restore download and metadata provider order
- background: Keep library scans and update downloads running with the screen off
- mornye: Preserve navbar blur during collapse animations
- mornye: Soften glass rims and increase transparency
- mornye: Respect glass clarity and accessibility limits
- library: Spread filters across the search field width
- library: Offer re-enrichment for downloaded selections
- lyrics: Lift timed words together
- storage: Retain document access for library metadata and covers
- startup: Keep shared backend alive across activity recreation
- download: Verify ReplayGain tags independently of metadata embedding
- metadata: Preserve the selected recording during download enrichment
- library: Preserve partial scans and ignore stale completion events
- library: Open track metadata from search results
Performance
- mornye: Share chrome backdrops and scale blur to clarity
- store: Skip invisible backdrop blur on repo cards
- library: Trim scan ingestion writes
- library: Stat each walked entry once
- library: Overlap SAF listings and metadata reads
- mornye: Adapt glass and player effects to device capabilities
- player: Suspend covered pages and streamline transitions
- download: Avoid repeated progress decoding and queue regrouping
- download: Reuse connections across probes and retries
- library: Reduce scan allocations and keep SAF workers busy
- library: Reuse bounded artwork thumbnails during scans
Refactoring
- library: Share the track selection bar and delete action
- backend: Retire unused native bridge entry points
- download: Simplify finalization and remove the retired worker
- flutter: Remove unreachable state and widget APIs
- library: Remove unused history lookups and replacement paths
- ui: Consolidate file feedback and shared display helpers
Testing
- library: Keep notifier test counters private
Chores
- Update AltStore source to v5.0.7 by @github-actions[bot]
- Update AltStore source to v5.0.6 by @github-actions[bot]
- release: Bump app version to 5.0.7
Build
- android: Reduce compat media deprecation warning noise
- android: Sign release APKs with APK Signature Scheme v4
Full Changelog: v5.0.6...v5.0.7
Downloads
Android
- arm64:
SpotiFLAC-v5.0.7-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v5.0.7-arm32.apk(older devices) *.apk.idsig: V4 signatures foradb install --incrementalonly; normal installs do not need them
iOS
- iOS:
SpotiFLAC-v5.0.7-ios-unsigned.ipa(sideload required)
Installation
Android: Enable "Install from unknown sources" and install the APK
iOS: Use AltStore, Sideloadly, or similar tools to sideload the IPA