Changelog
This page records the major version updates for EchoMusic. For the complete changelog, see GitHub Releases.
⚠️ This software is completely free and open-source. Do not obtain it through any paid channels.
🤡 If you acquired it by paying, you've been scammed.
[2.2.6-beta.8] - 2026-06-04
Added
- External playlist import now supports more platforms
- Auto-start on boot and start minimized to tray
- Mini Mode: shrink the player to a compact mini window
- Sort functionality for songs and albums on the artist detail page
- Lyrics selection feature
- Spatial Audio support: import, rename, and remove IR audio files in settings, with quick switching in the effects popup
Improved
- Optimized certain settings items
- Optimized playlist UI with playlist indicator bar
- Improved sidebar collapse behavior
- Improved lyrics selection
- Improved log output
Fixed
- Fixed UI thread blocking and lag when the play queue has too many songs
- Fixed fullscreen mode on Windows where scaling adjustments could cause window control buttons to display incorrectly
- Fixed page lyrics progress bar tooltip clipping at start and end when hovering
- Fixed app freezing after waking from extended sleep
[2.2.5] - 2026-05-31
Added
- Add-to-playlist feature in play queue
- Collapsible "Discover Music" and "My Library" sidebar sections
- Custom sorting for sidebar playlists
- Regex-based lyrics content filtering
- Custom GitHub acceleration site configuration for the update module
- Toggle for title bar search box recommendation terms, disabled by default
- Keep bottom action bar visible when lyrics photo mode is collapsed
- Sidebar collapse/expand with title bar button and shortcut switching, configurable toggle, disabled by default
- Input device selection for Music Recognition
Improved
- Optimized play queue enqueue and removal logic
- Play queue respects sorted order when enqueuing
- Improved error page display, ignoring common non-functional browser errors
- Improved lyrics fetching to prioritize translations and transliterations
- Refactored page lyrics
- Refactored settings page
- Optimized list scrolling performance
Fixed
- Fixed title bar search box close animation executing unexpectedly multiple times
- Fixed playlist and other reusable routes not switching correctly when page cache is disabled
- Fixed playback engine failing to start on Windows ARM
- Fixed media session cover not displaying for some songs on Windows
- Fixed file lock issues when Windows users reinstall after uninstalling
- Fixed desktop lyrics dragging issues in Windows touchscreen environments
- Fixed music playback issues on some Linux distributions
- Fixed desktop lyrics not staying on top and mouse passthrough not working on Linux
- Fixed media session not working properly on Linux
- Fixed search page infinite scroll not loading more results
- Fixed artist detail page not loading more albums and MVs on scroll
[2.2.4] - 2026-05-21
Added
- Global theme color system: auto-extract from cover art, preset themes, and custom color modes
- First-time use tip banner on the login page
Improved
- Page cache architecture refactored: each page has its own scroll container
- Simplified page cache settings: removed page selector, now global toggle + max cache count, all cacheable pages cached by default
- macOS builds now include zip format with in-app auto-update support
- Update dialog now shows "Go to Download" button on failure, guiding manual download
- Color picker layout optimized
- VIP expiration text in profile now shows hours/minutes precision with hover tooltip for start and full expiration time
- Dark mode overall brightness increased by one level
- Batch operations: confirmation dialog before deletion; add-to-playlist and delete now use server-side batch APIs for major speed boost
- Batch action buttons now show real-time progress and loading state
- Batched add-to-playlist order reversed to match playlist default reverse display
Fixed
- Fixed title bar right-click crash
- Fixed some songs not scrolling or highlighting on the lyrics page
- Fixed window not restoring to previous size after closing/restarting while maximized
Refactored
- Search box now shows trending recommendation terms when expanded, click to quick search
- Fixed scroll position not resetting on route change
[2.2.3] - 2026-05-08
Added
- Click cover on lyrics page to copy song info
- Personal FM: added "Peak" mode and "Gamma" recommendation pool for more diverse recommendations
- External playlist import functionality
- Music Recognition: supports microphone recording and system audio capture
- Fullscreen button on Windows/Linux title bar
- Experimental DSD premium quality option (limited song availability)
- Experimental equalizer
Fixed
- Fixed native addon loading failure on Windows without Visual C++ Redistributable (statically linked MSVC C Runtime)
- Fixed first song always being the first in the playlist when shuffle is on
- Fixed QR code refresh button overlapping with scan prompt text on login page
- Fixed libmpv dependency issues on Linux
Refactored
- Playback engine migrated from mpv subprocess to libmpv embedded via Rust NAPI addon directly calling libmpv C API
- Separated audio quality and audio effects logic and trigger buttons; merged effects and equalizer
Improved
- Tray icon redesigned with brand blue + white glyph, clearly visible on both light and dark taskbars, unified across Windows and Linux
- Personal FM: improved playback logic, correctly sending
is_overplay: trueon natural song end to reduce recommendation repeats - Personal FM: added
/personal/fmand/ai/recommendto non-cached route list for real-time recommendations - My Favorites: split followed users and artists into separate tabs
- Optimized playback logic and UI blocking/race condition issues
- Adjusted page lyrics translation/transliteration font sizes
- Lyrics out-of-sync warning when playback duration differs significantly from original track length
[2.2.2] - 2026-04-27
Refactored
- Playback engine upgraded to mpv with independent process playback, supporting more audio formats with higher decoding quality
- Vocal/instrumental track switching faster and more stable
- Volume normalization and crossfade adapted for new engine
- Audio output device list more accurate, switching more reliable
- Comment replies changed to inline expand/collapse for unified interaction
Added
- Exclusive Audio Device toggle: bypass system mixer for direct output and higher audio quality
- Auto Check for Updates toggle in settings
- Logout confirmation dialog to prevent accidental clicks
- Comment button on lyrics page to view current song comments
- Long comments auto-truncated with expand/collapse support
Improved
- Lyrics page light theme background readability improved
- Lyrics page play button and cover card visual consistency
- Audio device status hints layout more compact
- Play queue, batch operations, and comment drawer unified at bottom
Fixed
- Modals blocked by player bar
- Lyrics translation and transliteration line colors following custom colors
- Progress bar drag handle lagging behind mouse
Known Changes
- Slight increase in app package size
[2.2.1] - 2026-04-24
Added
- Vocal and Instrumental audio effect options with separated playback
- Extracted track data cached for instant vocal/instrumental switching on the same song
- Photo mode lyrics auto-collapse: auto-collapse to bottom two lines after inactivity, with configurable toggle and delay
- Photo mode button adaptive color: auto-switches light/dark based on background brightness, with toggle
- Lyrics page changed to overlay mode, fixing page cache invalidation on open/close
- Lyrics page open/close transition animation
- Font settings
Improved
- Unified dark/light theme behavior in photo mode
- Photo mode cover card and controller layout optimized
- Lyrics page popup hierarchy adapted for overlay mode
- Play queue now supports direct drag-to-reorder
- Desktop lyrics lock/unlock interaction improved: can interact after locking without moving out of window
- Desktop lyrics text shadow changed to soft projection style
- Desktop lyrics multi-monitor support, remembers monitor position
- Disable GPU Acceleration toggle for troubleshooting rendering issues
Fixed
- Lyrics stuck on "Loading" during rapid track switching
- Profile still showing previous account info after logout and login with different account
- Lyrics page shortcut key not opening
- Page cache invalidation on lyrics page open/close
- "My Favorites" page current song position offset
- Desktop lyrics position shifting on each open in Windows
- Progress bar flickering when switching audio quality or effects
- Volume normalization incorrectly applying default attenuation without valid loudness data
- Desktop lyrics line switching delay
- Scroll position not preserved when returning to page
- Lyrics played/unplayed color defaults inconsistency
- Artist detail info completed (followers, birthday, MV count)
- Album detail page showing album type and language, sticky header with favorite button
- Playlist detail page sticky header with favorite button
- Sidebar layout spacing adjusted
[2.2.0] - 2026-04-21
Added
- Lyrics and MV search tabs on the search page
- MV search results in card grid layout, reusing existing MV card component
- "Search Page" quick entry button on right side when title bar search box is expanded and empty
- Volume Normalization: automatically adjusts gain based on track LUFS loudness data for consistent volume across songs
Improved
- Playback engine refactored from Howler.js to native HTML5 Audio, eliminating middleware event loss and state sync issues
- Volume normalization via Web Audio API (GainNode), reusing the same audio element without rebuilding the processing chain on track change
- Crossfade refactored to dual GainNode architecture (fadeGainNode + normGainNode), using Web Audio API native linearRampToValueAtTime scheduling, independent of JS timers, works even when window is minimized
- Lyrics page word-level animation upgraded to gradient fill effect matching desktop lyrics, using rAF real-time interpolation for smooth transitions
- Directly listen to native audio durationchange event, fixing inaccurate duration for streaming audio
Fixed
- Fixed playback suddenly freezing with progress bar stuck and unresponsive to drag
- Fixed song progress reaching end but ended event not triggering, delaying next track switch
- Fixed auto track switch causing no sound due to crossfade
- Fixed HTML entities in English lyrics not being decoded (e.g.,
'shown as raw text)
[2.1.9] - 2026-04-20
Added
- My Favorites page with Songs, Artists, Albums, and Videos tabs
- Auto-rotating lyrics photo backgrounds
- API cache layer (LRU, 200 entries max, 30-minute TTL), write operations auto-clear related caches
- Page cache (KeepAlive) settings with customizable cached pages and max count
- MultiSelect dropdown component
Improved
- Removed global request timestamps; cache strategy managed by main process cache layer
- Title bar refresh button clears API cache on click for latest data
- "Liked Songs" playlist restored to custom playlist list in sidebar
- Favorited albums moved to "My Favorites" page
- Lyrics page translation/transliteration refactored as independent toggles
- Lyrics photo background mask and toolbar visual improvements
- Non-current and unplayed lyrics line color readability improved
Fixed
- Lyrics color picker incorrect defaults
- Audio quality/effects badge and playlist song count badge settings not applying on lyrics page
[2.1.8] - 2026-04-19
Added
- MV tab on artist detail page with category filtering and scroll loading
- Audio quality and effects badge display toggle in settings
- Silent installation toggle: auto-complete updates in background without setup wizard
- Linux arm64 build
Improved
- Native CSS dragging solution, completely fixing Windows high-DPI window drag flickering
- Removed ineffective PlayerBar frosted glass effect, reducing GPU overhead
- Artist detail page albums and MVs changed to lazy loading, request data only on tab switch
- Artist detail page albums support scroll pagination
- Modal and drawer components compatible with native drag layer, no interaction interference when open
Fixed
- Lyrics page photo images failing to load
- Login expiration check falsely triggering on network disconnect, incorrectly clearing login state
- Login expired dialog clearing login state before user confirmation
- Manual track switch in single loop mode now follows list order, no longer repeating current song
- Page scroll position not resetting after route change
- macOS update dialog missing online update button
[2.1.7] - 2026-04-19
Added
- Changelog entry in settings page
Fixed
- Window slowly enlarging when dragging on Windows high-DPI
- Version update content styles not displaying correctly
[2.1.6] - 2026-04-18
Added
- Artist list page under Discover
- Version update log viewable when checking for updates
- In-app online update for Windows and Linux
Improved
- Refactored internal communication architecture for improved API stability and response speed
- Further reduced installer size
- Startup speed optimization
- Request log format optimization
Fixed
- Lyrics page play queue overlapping with window control buttons
- API service becoming unresponsive after extended use, requiring app restart
- API service port conflicts
- Network proxy causing app to malfunction
- Title bar not draggable on certain pages
Earlier Versions
For earlier test versions (2.1.5 and below), please see GitHub Releases.