Releases: spotiflacapp/SpotiFLAC-Mobile
SpotiFLAC v4.3.1
New Features
- Carry extension download metadata through host pipeline and avoid FLAC-only genre/label pre-embed on non-FLAC files
- Improve Tidal metadata (copyright, album artist), remove Qobuz metadata search fallback, fix DATE/YAR tag sync
- Add preserveNativeOutputExtensions capability for extensions
- Convert M4A to FLAC when extension doesn't prefer native M4A output
Bug Fixes
- Handle .mp4 as alias for .m4a throughout download pipeline
- Show filter button in all/singles modes when tracks are empty but filters are active
- Ensure non-null search provider fallback and update default labels to Tidal
- Reset OutputExt on extension→extension fallback too
- Reset OutputExt on extension→built-in fallback
- Normalize extension codec for built-in fallback, remove dead Tidal ISRC
- Respect user provider choice over source extension priority
Chores
- Bump version to 4.3.1+126
- Reduce Gradle memory, add extension network timeout, fix tr locale
Full Changelog: v4.3.0...v4.3.1
Downloads
Android
- arm64:
SpotiFLAC-v4.3.1-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.3.1-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.3.1-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
SpotiFLAC v4.3.0
New Features
- Propagate download cancel to extension HTTP requests and fix SAF filename extension mismatch
- Native M4A ReplayGain tag writing and SAF picker error handling
- Expose extension utils, preserve M4A native container, and bump to v4.2.3+124
- Add artist search filter and normalize search filter handling
- Add default search tab preference
- Add keep android open link
Bug Fixes
- Handle extension oauth callback on ios
- Align default search tab layout with primary provider selector using Row+Expanded
- Preserve existing M4A metadata during embed and enable BuildConfig generation
- Improve ALAC M4A quality parsing
- Stabilize shared extension link handling
- Fallback extra metadata genre
- Align metadata sanitization and lyrics editing
Refactoring
- Remove author field from extension manifest and UI
- Move deezer search flow to extension
Chores
- Bump version to 4.3.0 and fix SAF document file race condition
- Thank Ldav Nico and Feuerstern on donate page
New Contributors
- @AlexRabbit made their first contribution
Full Changelog: v4.2.2...v4.3.0
Downloads
Android
- arm64:
SpotiFLAC-v4.3.0-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.3.0-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.3.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
SpotiFLAC v4.2.2
New Features
- Add configurable extension download fallback
Bug Fixes
- Preserve flat singles output for extension releases
- Align re-enrich matching with autofill metadata
- Persist downloaded metadata and refine metadata navigation
- Preserve composer metadata across qobuz and history
Refactoring
- Move deezer to extension
Chores
- Bump app to v4.2.2
Full Changelog: v4.2.1...v4.2.2
Downloads
Android
- arm64:
SpotiFLAC-v4.2.2-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.2.2-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.2.2-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
SpotiFLAC v4.2.1
New Features
- Enrich composer and track totals metadata
Bug Fixes
- Remove stale audio service manifest entries causing crashes on some devices
- Harden gomobile extension bindings and m4a cover retention
- Preserve local convert format and library entries
- Preserve embedded metadata details
Chores
- Bump app version to v4.2.1
- Pin iOS release builds to macOS 15 and Xcode 26.1.1
Full Changelog: v4.2.0...v4.2.1
Downloads
Android
- arm64:
SpotiFLAC-v4.2.1-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.2.1-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.2.1-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
SpotiFLAC v4.2.0
New Features
- Add additional search/metadata API with separate rate limiting
- Add skipLyrics manifest field for extensions to opt out of lyrics fetching
- Add ReplayGain scanning, APEv2 tag support, and fix metadata bugs
- Add resolve API with SongLink fallback, fix multi-artist tags (#288), and cleanup
- Add separate filename format for singles and EPs (#271)
- Add field selection dialog for bulk re-enrich metadata
Bug Fixes
- Patch device_info_plus iOS build for older Xcode SDKs
- Route Qobuz API calls through authenticated gateway to resolve 401 errors
- Resolve missing track/disc numbers from search downloads and suppress FFmpeg log noise
- Improve extension runtime safety, HTTP response URL, SongLink parsing, and recommended service for extensions
- Resolve label and copyright from file metadata on info screen
- Validate ISRC in track metadata screen to prevent ID leakage
- Correct track/disc defaults, forward extension metadata, and fix service ID display
- Remove deleted local library item from provider state after file deletion
- Match system navigation bar color with app theme
- Prefer local file for cover/lyrics save and update build dependencies
Performance
- Incremental download queue lookup updates, async cover cleanup, and native JSON decoding on iOS
- Reduce UI jank via memoization, compute isolates, SQL-backed playlist picker, and viewport-aware image caching
Refactoring
- Consolidate FLAC/MP3/Opus metadata embedding into unified _embedMetadataToFile
- Remove legacy API clients, Yoinkify fallback, and unused lyrics provider
Chores
- Remove redundant comments and update donor list
- Bump version to 4.2.0 (build 121)
Full Changelog: v4.1.3...v4.2.0
Downloads
Android
- arm64:
SpotiFLAC-v4.2.0-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.2.0-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.2.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
SpotiFLAC v4.1.3
New Features
- Add artist tag mode setting with split Vorbis support and improve library scan progress
- Add stable cover cache keys, Qobuz album-search fallback, metadata filters and extended sort options
Bug Fixes
- Samsung SAF library scan, Qobuz album cover, M4A metadata save and log improvements
Chores
- Bump version to 4.1.3 (build 120)
Full Changelog: v4.1.2...v4.1.3
Downloads
Android
- arm64:
SpotiFLAC-v4.1.3-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.1.3-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.1.3-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
SpotiFLAC v4.1.2
New Features
- Replace batch operation snackbars with progress dialog
- Improve track matching
- Add haptic feedback when swiping library tabs
- Add play button to playlist/library track tiles
Bug Fixes
- Use Tidal quality options as fallback instead of DEFAULT for extensions
- Normalize DEFAULT quality to prevent Tidal/Qobuz API failures
- Add attached_pic disposition to ALAC cover art embedding
- Use START_NOT_STICKY for DownloadService to prevent auto-restart
Refactoring
- Extract and improve ReEnrich track selection with scoring-based matching
- Route spotify URLs through extensions
Chores
- Bump version to 4.1.2+119
I18n
- Extract hardcoded strings into l10n keys
Full Changelog: v4.1.1...v4.1.2
Downloads
Android
- arm64:
SpotiFLAC-v4.1.2-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.1.2-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.1.2-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
SpotiFLAC v4.1.1
New Features
- Track byte-level download progress for extension downloads
- Cache spectrogram as PNG for instant loading on subsequent views
Bug Fixes
- ui: Skip popular section in artist skeleton for providers without top tracks
- ui: Match GridSkeleton cover height with actual album cards
- Conditionally show cover header in artist skeleton and add showCoverHeader param to ArtistScreenSkeleton
- Null check crash in SpectrogramView when spectrum loaded from PNG cache
- Add artist_album_flat case to SAF relative output dir builder
Refactoring
- Enable strict analysis options and fix type safety across codebase
- Unexport extension store types and methods (package-internal only)
Documentation
- Update VirusTotal hash for v4.1.0
- Move badges below screenshots in README
Chores
- Bump version to 4.1.1+118
Full Changelog: v4.1.0...v4.1.1
Downloads
Android
- arm64:
SpotiFLAC-v4.1.1-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.1.1-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.1.1-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
SpotiFLAC v4.1.0
New Features
- Add animation utilities and fix regressions in UI refactor
- Cache audio analysis results and fix total samples metric
- Auto-select recommended download service based on content source
- Add audio quality analysis widget and fix USLT lyrics detection
- Add sorting options for search results
Bug Fixes
- Improve skeleton visibility and artist header for light mode
- Store URL input flash on startup and FLAC metadata fallback for mismatched files
- Hi-res cover art for Tidal/Qobuz and album metadata override
- Remove unintended home reset on tab switch
- Unify search bar, filter chips, tab navigation, and clean up comments
- Route tidal/qobuz items from Recent Access to built-in screens instead of extension screens
- Add ValueListenableBuilder for embedded cover refresh and localize hardcoded queue strings
- qobuz: Skip SongLink when ISRC is already available
Performance
- Use Tidal/Qobuz metadata for Deezer track resolution
- Lazy extension VM init, incremental startup maintenance, and UI optimizations
Refactoring
- Extract YouTube download to ytmusic extension and fix UI issues
- Use pointer returns and unified forceRefresh in ExtensionStore
Chores
- Clean up codebase
- Bump version to 4.1.0+117
- Bump version to 3.9.1+116
- Update AltStore source to v3.9.0 by @github-actions[bot]
- Update AltStore source to v3.8.8 by @github-actions[bot]
- Update AltStore source to v3.8.7 by @github-actions[bot]
- Update AltStore source to v3.8.6 by @github-actions[bot]
New Contributors
- @ShuShuzinhuu made their first contribution
Full Changelog: v3.9.0...v4.1.0
Downloads
Android
- arm64:
SpotiFLAC-v4.1.0-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v4.1.0-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v4.1.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
SpotiFLAC v3.9.0
New Features
- Add home feed provider setting, fix Qobuz cover URL propagation
- Add built-in search provider in settings, fix bottom sheet overflow
- Add built-in Tidal/Qobuz search with recommended service picker
- Restore Tidal HIGH (AAC 320kbps) lossy quality option (closes #242)
- Add M4A metadata/cover embed support across all Flutter screens
- Populate M4A metadata in ReadFileMetadata and library scan
- Implement full M4A tag read engine with atom path fallback and freeform fix
- Add createPlaylistFolder setting for playlist source folder prefix
- Add normalizeLooseArtistName with diacritic folding for resilient artist matching
Bug Fixes
- l10n: Consolidate Crowdin locale files and fix ICU plural warnings
Chores
- Bump version to 3.9.0+115, add new translators
- Remove security_hardening_test.go
Full Changelog: v3.8.8...v3.9.0
Downloads
Android
- arm64:
SpotiFLAC-v3.9.0-arm64.apk(recommended for modern devices) - arm32:
SpotiFLAC-v3.9.0-arm32.apk(older devices)
iOS
- iOS:
SpotiFLAC-v3.9.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