1.12.0 is here!
This release has been a long time coming, including a lot of fixes and new features.
Translators please read: A significant refactor has taken place with the i18n localization which transformed the original localization strings from all lowercase into proper casing. A LLM was used to perform the refactor to proper casing in all languages so I apologize if any of your translations have broken.
As always, thank you to all the contributors!
Added
- Added support for playlist folders in the sidebar playlist list based on a configured separator value (#2017) (Thanks @shawnsquire)
- Added support for grouping custom releasetypes in Artist page instead of defaulting to Album (#1892) (Thanks @korpseluv)
- Added setting to customize the non-active lyric in the Lyrics panel (#1954) (Thanks @vimaexd)
- Added setting to customize the height normalization of the waveform playerbar (#1962) (Thanks @mitchray)
- Added setting to prevent operating system suspend on playback (#1992)
- Added themes
- (macOS) Improve support for mpv autodetection on macOS (#1989) (Thanks @york9675)
- (macOS) Added improved icons for macOS 26 (#1941) (Thanks @eramdam)
- Added a scrobble status indicator on the playerbar timestamp value (#2010)
- Added a hotkey to jump to the currently playing song in list views (#2024) (Thanks @nova77)
- Added "add to playlist" action button to items in the global search menu (Thanks @kgarner7)
- Added table playback controls onto the first Row Index or Track Number column when hovering over the cell
- Added AutoDJ enhancements
- Album / Song mode selection
- Similar / Random mode selection
- Added support for albums in Play Random modal
- (OS) Added support for OpenSubsonic Playback Report extension
Changed
- Theme selector is now searchable
- Refactored all i18n locale languages to use proper casing instead of lowercase (#1998)
- Scrobbling submission logic is now based on listen-time instead of the player timestamp (#2010)
Fixed
- Fixed performance issues on Artist page when scrolling
- (OS/Navidrome) Fixed playback failing if Subsonic getTranscodeDecision returns an error
- Removed unnecessary screen capture from audio loopback handler (#1926) (Thanks @noctuum)
- (macOS) Fixed MPV visualizer functionality (#1930) (Thanks @york9675)
- Fixed song filepath replacements in certain endpoints
- Fixed player next-song selection when using shuffle and repeat-one (#1932) (Thanks @mathew4)
- Fixed success toast wording when no songs added to playlist (#1994) (Thanks @JonneSaloranta)
- Fixed sidebar image not autosizing on resize (#1975) (Thanks @veryprofessionaldodo)
- Fixed synchronized lyrics click-to-seek behavior when attempting to seek to a value less than 1 second (#1993)
- Fixed synchronized lyrics first line from highlighting before timestamp is reached (#1965)
- (Jellyfin) Fixed play count on album detail page song items not reflecting its actual value (#2005)
- (Navidrome) Fixed various smart playlist rules using the incorrect values (#2011) (Thanks @nova77)
- (Navidrome) Fixed missing
artistratingsmart playlist rule - Removed server selector from collapsed sidebar
- Fixed Discord RPC not using the configured server Remote URL in some cases (#2009) (Thanks @photovoltex)
- Fixed client-side release date sorting to additionally handle name values
- (Remote) Fixed remote initialization failing unless the app is restarted with setting already enabled (Thanks @kgarner7)
- Fixed Internet Radio locking local playback until explicitly stopped (#2039) (Thanks @braelyn-ai)
- Prevent drag-drop of items onto smart playlists in the sidebar
- Fixed track radio from prepending the current song to the queue when using "Add Next" or "Add Last"
- Fixed mediasession hotkeys breaking when using the Repeat-One player mode (#1472)
- (macOS) Fixed hotkeys firing when inputs are focused (#2059) (Thanks @muckymucky)
Other
- Upgrade from Electron v39 to Electron v41
- Various Electron security improvements (Thanks @kgarner7)
- Disabled nodeIntegration
- Enabled electron sandbox mode
What's Changed
- fix(linux): remove unnecessary screen capture from audio loopback handler by @noctuum in #1926
- Fix various build issues by @jeffvli in #1942
- Feat: Add everfrost dark and light themes by @roceb in #1934
- macOS 26-friendly icon by @eramdam in #1941
- feat: show unknown artist release types as dynamic categories by @korpseluv in #1892
- Fix MPV visualizer not working on macOS and handle exclusive mode UX by @york9675 in #1930
- feat(lyrics): non-active lyric settings by @vimaexd in #1954
- feat: use urlsearchparams instead of qs by @kgarner7 in #1970
- fix: proper selection of next song when using shuffle and repeat-one by @mathew4 in #1932
- Stretch the wavesurfer waveform to the full height by @mitchray in #1962
- fix: detect Homebrew mpv on macOS by @york9675 in #1989
- Replace success toast with info when no songs are added by @JonneSaloranta in #1994
- [UI] Made sidebar image just use flex by @veryprofessionaldodo in #1975
- Fixed bad smart playlist fields by @nova77 in #2011
- fix: only show Jellyfin audio playlist by @maxileith in #2000
- Always use remote url for discord rpc image by @photovoltex in #2009
- Use proper casing for i18n locales by @jeffvli in #1998
- feat(sidebar): group playlists with "/" into collapsible folders by @shawnsquire in #2017
- Adds a hotkey to navigate to the currently playing song by @nova77 in #2024
- fix(player): stop radio before starting track playback by @braelyn-ai in #2039
- disable node integration by @kgarner7 in #2049
- feat: persist player timestamp by @TiagoSimionato in #2043
- Apply additional security recommendations by @kgarner7 in #2050
- fix: strip playback menu accelerators while command palette is open by @muckymucky in #2055
- fix: strip playback accelerators whenever any text input is focused by @muckymucky in #2059
- feat: reading custom css from external file by @hexahigh in #2012
New Contributors
- @noctuum made their first contribution in #1926
- @roceb made their first contribution in #1934
- @korpseluv made their first contribution in #1892
- @mathew4 made their first contribution in #1932
- @mitchray made their first contribution in #1962
- @JonneSaloranta made their first contribution in #1994
- @veryprofessionaldodo made their first contribution in #1975
- @maxileith made their first contribution in #2000
- @photovoltex made their first contribution in #2009
- @shawnsquire made their first contribution in #2017
- @braelyn-ai made their first contribution in #2039
- @TiagoSimionato made their first contribution in #2043
- @muckymucky made their first contribution in #2055
- @hexahigh made their first contribution in #2012
Full Changelog: v1.11.0...v1.12.0