Releases: maxrave-dev/SimpMusic
Release list
1.7.0
Full changlogs here: https://www.simpmusic.org/blogs/new-update-simpmusic-v170
🎉 New features
Playback & player
- Last.fm scrobbling (Full build only) —
lastfm/lastfm-emptymodule pair, a login screen, its own settings group, and scrobbling during playback - Reworked Now Playing: new backdrop and artist card; added an inline lyric line and removed the blurred backgrounds
- Playlist import from a converted file, straight from Settings; writes to the database in batches
- Charts: added seven new YouTube Music countries — Hong Kong, Malaysia, Philippines, Singapore, Taiwan, Thailand and Vietnam
Browsing & search
- The empty search screen now shows browse categories
- Play a song directly from a browse category's shelf
- Home: long-press a quick pick to open the Now Playing sheet
- Library: show item counts in dynamic playlist headers
Settings
- Ask for confirmation before logging out of a linked account
Desktop
- Replaced VLC with libmpv as the sole playback backend — including DJ crossfade filters and a switch to DASH streams
- Linux: build libmpv from source in a container instead of extracting it from the AppImage
- Tray menu and tooltip now show the current track
- The volume slider expands only on hover
- The player bar timeline is tinted while a crossfade is running
- Video now renders through Compose frames;
SwingPanelremoved - Windows: removed the debug terminal window
- "Play next" now works on the desktop side
- Added a Queue button to the mini player — PR #2275 by @laoluogun
Internal
- Migrated every icon to generated Material Symbols
ImageVectors, droppingmaterial-icons-extendedand the XML drawables
🐛 Fixes
Crossfade & player
- Skip the crossfade when the next track plays as video, and when the current track plays as video
- Keep the correct incoming track when a transport control is pressed mid-crossfade
- Align the restored queue with the player, and guard against saves during a rebuild
- Keep the progress slider within Material3's default range
- Volume: apply it to the player before persisting it; unmute restores the original level — PR #2274
- Desktop: release the crossfade handle when loading another track; route volume through
ao-volumeso it applies instantly - Normalise Tidal key names before Camelot matching — Tidal spells accidentals out (
"FSharp","CSharp") rather than using symbols, sokeyToSemitonefailed to parse them and roughly 22% of tracks silently lost their key in DJ crossfade. Fixed by normalising the string before matching, and by changing thecalculateKeyGapDurationFactorfallback from1.0toUNKNOWN_GAP_DEFAULT_FACTOR— an unparseable key was previously treated as a perfect match
Data & parsing
- Lyrics: stop dropping the first character when no space follows the timestamp
- Identify song columns by
pageTypeinstead of a fixed index - Keep only the first subtitle group as artists
- The database now repairs artist names and album names stored by an older parse
- Treat personalised mixes as radio playlists
- Browse categories: key sections by title and cache them on disk, parse the songs shelf, and render every section the API returns
Downloads & cache
- Stop re-resolving stream URLs for tracks that are already fully downloaded
- Serve directly from cache only when the whole track is on disk
Desktop
- macOS: switched audio output to
avfoundation— avoids anao_coreaudiouse-after-free crash when headphones are plugged in or removed - macOS: register now-playing handlers on the main queue; stopped trimming native memory, which was causing a crash
- Disabled skiko vsync (the cause of freezes when changing displays) and restore the window on Dock reopen
- Backup: stopped double-wrapping the zip output stream
- Registered URL schemes at the correct level in
conveyor.conf, and restored external link opening on Linux - libmpv bundle: resolve by absolute path and drop POSIX open flags on Windows; strip AppleDouble sidecars that made macOS report "app is damaged"; treat an absent
ytdloption as success - Raised the macOS floor to 15.0 for the bundled libmpv — a breaking change for users on older macOS
User interface
- Force-dark screens now use a real dark colour scheme rather than just dark text
- Bottom sheet: title, artist and the like label take their colours from the dark palette
- Search: leave room for the floating search bar in every state; cap the browse grid width and use four columns on wide layouts
- Quick picks: keep titles on one line with a marquee
- Smoother artwork scrims via a smoothstep gradient
NormalAppBaruses the transparent colours the app uses elsewhere- Show a generic album label when the album name is unknown
- Analytics: lengthened the header scrim so the top song title no longer overlaps the stats
- Repaired the notification bell icon path
- Library: the "create playlist" label uses the theme colour
- Spotify: match the login status URL when it carries a query string
⚡ Performance (Desktop)
- Tuned the allocator and GC to cut resident memory
- Return freed native memory to the OS when playback idles
- Capped mpv's demuxer cache
🔧 Infrastructure & dependencies
- PipePipeExtractor to v6.2.0,
brave-newpipebumped - Bumped a batch of dependencies
- Refreshed the Gradle daemon JVM toolchain URLs
- CI/CD: workflow updates; stage natives in the release workflow and verify the libmpv bundles
CLAUDE.mdupdated for Last.fm, the from-source Linux libmpv build, Compose video rendering, and the video crossfade rules
What's Changed
- Feat/queue button desktop miniplayer by @laoluogun in #2275
- Feat/desktop mpv backend by @maxrave-dev in #2284
- Fix/volume unmute to original value by @laoluogun in #2274
- New version: v1.7.0 by @maxrave-dev in #2281
New Contributors
- @laoluogun made their first contribution in #2275
Full Changelog: v1.6.0...v1.7.0
1.6.0
Change logs: https://www.simpmusic.org/blogs/new-update-simpmusic-v160
- New light theme with theme mode settings and custom primary color
- Google Cast support: play music on your TV or speakers (Full version)
- All-new Android Auto experience: browse your library, search and view the queue
- Fix Discord Rich Presence connection issues
- Desktop: fix app crash on startup in release builds
- Desktop: Add native media controller for Windows
What's Changed
- New feature: Light theme + Custom color by @maxrave-dev in #2229
- Android Auto: New UI by @maxrave-dev in #2235
- Google Cast by @maxrave-dev in #2245
- v1.6.0: New version by @maxrave-dev in #2250
New Contributors
Full Changelog: v1.5.1...v1.6.0
🎉 SimpMusic Road to 10k Stars! 🎉
Thank you all for trusting and using SimpMusic. We are about to reach 10,000 stars—a number I couldn't have even imagined when I first started this project.
Your support has given me the motivation to overcome countless technical challenges to deliver better and better updates. However, I want to leave a quick reminder: SimpMusic is a 100% free and non-profit project. I dedicate my own personal time to serve the community. Because of that, I hope I no longer have to receive toxic feedback or harsh words from certain users.
Your respect for my hard work is the only motivation I need to keep SimpMusic alive and growing. Thank you to all the kind users who have always understood and stayed by my side! 🎧❤️
1.5.1
Change logs
- Add a toggle in About settings to turn blog post notifications on or off
- Desktop: fix an app crash that broke all text rendering
- Desktop: fix Canvas and video rendering see-through to the desktop
- Desktop: fix Lottie animations crashing the app
- Linux: fix the desktop icon and app name
What's Changed
- v1.5.1: Patch version by @maxrave-dev in #2209
Full Changelog: v1.5.0...v1.5.1
1.5.0
Change logs
Checkout full changelogs here: https://www.simpmusic.org/blogs/new-update-simpmusic-v150
- New artist page: immersive header with the artist's name logo, accent-colored follow and radio buttons, and a blurred bottom
- Get a notification when a new blog post is published, shown alongside artist release notifications
- Update the YouTube extraction engine (core) for more reliable playback and downloads
- Fix high battery drain and overheating caused by Discord Rich Presence retrying login in the background
- Fix Spotify lyrics and canvas toggles staying stuck after logging out
- Fix the liquid glass tab bar not switching screens when tapped
- Keep crossfade on the correct track when you pause, skip, or go back mid-transition
- Desktop: fix a crash when changing tracks
What's Changed
- v1.5.0: New version by @maxrave-dev in #2196
Full Changelog: v1.4.0...v1.5.0
1.4.0
Change logs
Checkout full changelogs here: https://www.simpmusic.org/blogs/new-update-simpmusic-v140
- Fix music pausing or stopping on its own between tracks (the background-playback freeze present since 1.0.4)
- New liquid glass bottom navigation on Android, with a press-to-bulge interaction
- New Apple Music-style in Local Playlist screen
- Optimize Spotify login
- Discover podcast shows on Home and open them in a dedicated podcast screen
- Fix empty Home and search shelves, and broken playback, after YouTube API changes
- Desktop: fix a startup crash and reinstall Windows updates in place without uninstalling
What's Changed
- v1.4.0: New version by @maxrave-dev in #2121
Full Changelog: v1.3.0...v1.4.0
1.3.0
Checkout full changelogs here: https://www.simpmusic.org/blogs/new-update-simpmusic-v130
Change logs
- New offline error screen on Home with Retry and quick access to your downloaded music
- Show translated lyrics in yellow under the Canvas subtitle on the Now Playing screen
- Smoother DJ-style AutoMix: equal-power crossfade curve and front-loaded BPM ramp
- Longer Auto mode crossfade for more deliberate transitions (20-45s, fallback 30s)
- Apple Music-inspired redesign for Album, Playlist and Now Playing screens
- Cleaner home item layout: enforced 3-line max with subtle marquee on long titles
- Preserve original track order when loading album songs
- Fix language codes for Chinese, Indonesian and Hebrew
- Desktop: Windows installer switched to MSIX with install.bat helper
- Desktop: macOS installer switched to a custom DMG
What's Changed
- Migrate Jpackage default to Hydraulic Conveyor by @maxrave-dev in #2051
- v1.3.0: New version by @maxrave-dev in #2058
Full Changelog: v1.2.1...v1.3.0
1.2.1
Change logs
- Hot fix: Fallback error when changing extractor library
What's Changed
- v1.2.1: Hot fix for changing new backend by @maxrave-dev in #2011
Full Changelog: v1.2.0...v1.2.1
1.2.0
Change logs
- Spotify-style horizontal pager for Now Playing screen with per-page palette backdrop
- Swipe to skip to previous track on Now Playing pager
- Add 256kbps stream option in settings for YouTube Music Premium user (replaces 320kbps preference)
- Optimize lyrics word-wipe animation (wall-clock based, smoother multi-step)
- Optimize AI client and fix AI translation
- Optimize Discord Rich Presence
- Remove Netscape cookie input from Dev YouTube login
- Fix YouTube extractor
- Bump target SDK to 37 (Android 17)
What's Changed
- v1.2.0: New version by @maxrave-dev in #2001
Full Changelog: v1.1.1...v1.2.0
1.1.1
Change logs
- Fix some UI bugs
- Fix Android Auto playback and controls
- Fix modal bottom sheet touch screen blocking
- Fix shuffle command routing from notification
- Fix Timeout check your internet connection
- Update dependencies
Desktop app:
- Fix crash when opening non-existent downloaded file
- Add Intel Mac DMG build
What's Changed
- v1.1.1: Hotfix by @maxrave-dev in #1865
Full Changelog: v1.1.0...v1.1.1
1.1.0
Change logs
- Add Canvas subtitle sync display for lyrics
- Add BPM, key, and scale display to player bottom sheet
- Add simpmusic:// and simpmusic.org deep link support
- Add Auto Crossfade mode (like AutoMix)
- Redesign playback speed/pitch controls with improved animations
- Standardize share URL to use simpmusic.org
- Optimize rendering performance and UI drawing APIs
- Improve local song cache checking before fetching from API
- Fix media playback and streaming issues across platforms
- Fix player errors with retry logic
- Fix video download
- Fix sleep timer (end of song mode)
- Fix rectangle thumbnail
- Fix pitch and playback speed controls
- Fix analytics day range preference in playlists
Desktop app:
- Replace GStreamer with VLCJ for audio playback
- Add Crash dialog for desktop
- Fix gapless playing when changing settings
- Disable transparency and custom titlebar in VM environments
- Improve AppImage desktop integration
What's Changed
- v1.0.5: New version, minor changes (2-week per build) by @maxrave-dev in #1795
Full Changelog: v1.0.4...v1.1.0