New Features
- extension-repo: Preserve package suffix from download URL
- extensions: Route Deezer metadata through enabled extension
- ui: Stabilize album and playlist header layouts
- extension-health: Lengthen cache TTL and honor per-check minimum
- Apply lossless conversion quality cap to album screen batch convert
- Reorderable up-next queue + playback stability
- Cap bit depth/sample rate on lossless conversion + WAV/AIFF
- ui: Hide audio quality badge on downloading queue items
- ui: Redesign local/downloaded album and folder screen headers
- Playback queue, preview exclusivity, player bug fixes
- Add new playback experience and media integration
- go: Verification early-abort in fallback + album metadata from tracks
- banner: HLS motion-artwork header banners and audio-quality badges
- preview: Play short track preview snippets in lists
- extension-health: Cache results, force refresh, treat lookup errors as transient
- ui: Polish album folder structure picker bottom sheet
- ui: Add Beta badge to Backup & Restore settings entry
- network: Add opt-in allow local/private network setting
- backup: Include installed extensions and settings in backup/restore
- settings: Add backup and restore for settings, history and library
- library: Add rename action to playlist folder screen
- download: Add {playlist_position} filename placeholder
- Handle extension verification and retry-after on download
- Extension runtime and provider improvements
- download: AC-4 passthrough support
- replaygain: Add Opus R128 gain tags
- queue: Tap a failed download to view its error details
Bug Fixes
- download: Track verification retries per service
- extensions: Scope signed session files by endpoint and app context
- lyrics: Sync provider priority to backend on save
- lyrics: Prefer workers.dev LyricsPlus mirror first
- banner: Allow motion artwork video to mix with other audio
- queue: Resolve local album tracks by album_key
- lyrics: Sync provider settings to backend before fetch
- go: Widen lyrics priority grace to 5s so priority provider wins
- Preview player lifecycle and minor safety cleanups
- go: Classify transient timeout/5xx in extension health as unknown (grey)
- ui: Prevent home search skeleton row from overflowing on narrow screens
- lyrics: Improve provider fallback and health handling
- deps: Keep file_picker on 12.x beta to stay win32 6 compatible
- download: Detect actual output format from audio codec on fallback
- Navigate to correct artist when tapping artist name
- metadata: Cap oversized cover art and support QuickTime/MP4 tags
- android: Disable Impeller on Sony audio players and Vivante GPUs
- metadata: Write M4A ISRC/label natively and read all edited fields from file
- download: Honor requested quality when fallback provider recognizes it
Performance
- Optimize queue/library pagination, counts, scan, and extension runtime
Refactoring
- Hoist lossless labels before async convert paths
- track-provider: Rework verification retry, parse preview/header video
- ui: Make backup/restore page consistent with other settings
Dependencies
- deps: Update Flutter and Go dependencies to latest stable
Chores
- player: Log internal pause and audio interruption events
- Bump version to 4.7.0+136
- Clean up redundant comments across Go backend and Flutter sources
- Move website to spotiflacapp/Website repo
- Update AltStore source to v4.6.0 by @github-actions[bot]
Build
- android: Bump Java to 25 and targetSdk to 37
- android: Bump compileSdk to 37 and pin file_picker to beta.5
L10n
- Localize settings, store, and metadata UI strings
- Localize audio conversion labels and confirmations
- Localize library settings and announcements
- Add localization keys for hardcoded UI strings
Full Changelog: v4.6.0...v4.7.0
Downloads
Android
- arm64:
SpotiFLAC-v4.7.0-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.7.0-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.7.0-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