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