Skip to content

Releases: jeffvli/feishin

1.13.0

03 Jun 08:34

Choose a tag to compare

1.13.0 is here! Quick release as there were a few player and feature fixes that needed to go through.

Added

  • Added "End of current album" toggle for sleep timer (#2081) (Thanks @Overdrivendev)
  • (Jellyfin) Added support for Playlist / Artist image uploading

Fixed

  • Fixed butterchurn visualizer presets from being applied due to new content security policy (Thanks @kgarner7)
  • Fixed player seeking behavior when seeking rapidly (#2084) (Thanks @fiso64)
  • Improved cross platform font handling (#2104) (Thanks @kgarner7)
  • Fixed regression on app hotkeys handler when using various punctuation keys (#2091) (Thanks @york9675)
  • Fixed app hotkey behavior from triggering browser default behavior in some cases (#2082) (Thanks @york9675)
  • Fixed lyrics fetch behavior if "prefer lyrics from server" setting is enabled to longer wait for external lyrics fetchers before returning (#2100)
  • Fixed automatic queue saving behavior from showing notification toast on every queue mutation (#2090)
  • (Subsonic) Fixed favoriting/unfavoriting of playlist songs (Thanks @kgarner7)
  • Fixed some behaviors for context menu go-to actions for artists (Thanks @kgarner7)
  • (Subsonic/Navidrome) Fixed position timestamp and seek behavior for playback report / scrobble (Thanks @kgarner7)

What's Changed

New Contributors

Full Changelog: v1.12.1...v1.13.0

1.12.1

28 May 09:38

Choose a tag to compare

A couple fixes!

Fixed

  • Fixed table issue with various numeric-based columns incorrectly using the Track Number column (#2065)
  • Fixed waveform playerbar not generating when transcoding is required (#2060)
  • Fixed mpv appending empty/invalid parameters when using custom parameters (#2058)
  • Fixed hotkey mapping not working when using alternative keyboard layouts (#2051)
  • (Jellyfin) Fixed incorrect songs showing up on Album detail page when multiple albums with the same name exist (#2041)
  • Fixed sidebar queue height not adhering to the container height when using the "Web (hidden)" windowbar style (#2068)
  • Fixed various issues with Discord RPC regarding stale state, duplicate updates, and more
  • Fixed web player where playback would not properly stop at the end of the queue in certain cases

What's Changed

  • fix: set RESOURCES_PATH relative to app.getAppPath() by @tippfehlr in #2064

New Contributors

Full Changelog: v1.12.0...v1.12.1

1.12.0

26 May 04:43
2193fa4

Choose a tag to compare

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 artistrating smart 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

New Contributors

Full Changelog: v1.11.0...v1.12.0

1.11.0

07 Apr 00:26

Choose a tag to compare

1.11.0 is here!

This is a small / quick release since there have been long-standing issues with the container builds, and finally it has become completely broken in v1.10.0 due to the multi-arch image getting stuck during builds. Due to this, ARM/v7 has now been removed from the container build.

Added

  • (Navidrome) Support artist image upload / delete
  • (Navidrome) Support drag and dropping images onto artist / playlist images to update them

Changed

  • Clarify wording on Lyrics "clear" button when lyrics not available (#1920) (Thanks @triluch)
  • (Navidrome/OpenSubsonic) Web player auto-transcoding now uses FLAC by default instead of OGG

Removed

  • Removed arm/v7 container build

What's Changed

  • feat: Make "Clear" button "Refresh" when there are no lyrics found. by @triluch in #1920

New Contributors

Full Changelog: v1.10.0...v1.11.0

1.10.0

06 Apr 06:24

Choose a tag to compare

1.10.0 is here!

Feishin is now on Flathub! Big thanks to @WhyKickAmooCow for the setup and maintenance of the official Flathub package.

In addition, Plex users now have unofficial support via a fork by Lux032.

Added

  • Added a vertical sidebar queue layout which can be toggled in the app menu
  • Added support for audio visualizers when using mpv player
    • Windows confirmed support
    • macOS questionable support
    • Linux questionable support
  • (macOS) Added settings to native macOS menu (#1903) (Thanks @york9675)
  • Added grouping tag to the album metadata section (#1872) (Thanks @romainvigneres)
  • Added new external links and updated icons
    • Qobuz
    • Listenbrainz
  • (OpenSubsonic/Navidrome) Added automatic transcoding in web audio player based on codec/container
  • (Navidrome) Added new smart playlist fields
    • averagerating
    • albumdateloved
    • albumlastplayed
    • albumdaterated
    • albumloved
    • albumrating
    • artistdateloved
    • artistlastplayed
    • artistdaterated
    • artistloved
    • artistplaycount
    • codec
    • missing
    • sampleRate
  • (Navidrome) Added percent limit support for smart playlists
  • (Navidrome) Added support for uploading/deleting custom images from Playlists
  • (Navidrome) Added support for uploading/deleting custom images from Radio Stations
  • Item Table enhancements
    • Resizing table columns now provide real-time feedback
    • Pinned columns can now be resized
    • The table rows will properly auto-fill to the full width of the row if auto fit is disabled
    • Improved render performance in various aspects
  • (Linux) Include radio metadata in MPRIS output

Changed

  • Server selector has been moved into the app menu from the sidebar
  • Adjusted waveform slider behavior (#1781) (Thanks @darius-it)
    • Added setting to delay waveform generation for N seconds to prevent blocking audio thread
    • Show default slider by default until waveform generation is complete
    • Improve waveform generation speed by removing transcoding from streamURL
  • (macOS) Clicking on tray icon no longer autofocuses window
  • Redesigned command palette search, improved keyboard accessibility
  • Adjusted releasedate / originaldate parsing to support partial dates (e.g YYYY-MM and YYYY) (#1683)
  • Adjusted playlist page header to include description
  • Adjusted order of the current song metadata fields in the fullscreen player

Fixed

  • Fixed mediasession handlers breaking under certain conditions (#1898) (Thanks @Auzlex)
  • Various fixes to Glassy Dark theme
  • Fixed manual re-ordering of playlists (#1875)
  • (Navidrome) Fixed playlist song order when sorting by ID (#1868) (Thanks @kast3t)
  • Analytics script now additionally conditionally loaded based upon ANALYTICS_DISABLED env variable in addition to localStorage key
  • Fixed LrcLib lyrics manual search query not including artist name in search (#1871)
  • Fixed remixers being shown multiple times in some cases
  • Fixed lyrics continuing to run when radio playback is enabled
  • Fixed fullscreen player toggle not working to toggle the fullscreen visualizer (#1857)
  • Fixed various queue behaviors when using MPV player
  • (macOS) Attempted to fix local network access permission when adding server

What's Changed

New Contributors

Full Changelog: v1.9.0...v1.10.0

1.9.0

16 Mar 07:28

Choose a tag to compare

1.9.0 is here!

Added

  • Added a Open in Spotify button to the external links (#1839) (Thanks @letruxux)
  • Added simpmusic as a lyrics provider (#1820) (Thanks @letruxux)

Changed

  • Redesigned sleep timer UI
  • (Docker) REMOTE_URL is no longer required to be set as an env variable
  • (Docker) Container is no longer run as the root user (#1592) (Thanks @kgarner7)

Fixed

  • Fixed unoptimized animated skeleton component causing high cpu usage during idle state (#1832)
  • Fixed issue where in some instances the web player could start 2 playback instances when not in crossfade transition state (#1829)
  • (Linux) Fixed incorrect scaling issue when using Wayland (#1271)
  • (Subsonic/ND) Fixed various issues with the automatic queue save/restore (#1828) (Thanks @Lyall-A)
  • (Subsonic/ND) Fixed mpv queue state when restoring queue (Thanks @kgarner7)
  • Fixed glitchy loading state on playlist detail page
  • (ND) Fixed the header play button on the album page not loading all albums in the current filter if a large number of albums were present
  • Fixed playlist list not refreshing when playlist was created/deleted
  • Fixed "No lyrics found" message from fading out on the fullscreen player when no lyrics matched (#1821)

What's Changed

New Contributors

Full Changelog: v1.8.0...v1.9.0

1.8.0

10 Mar 05:10

Choose a tag to compare

1.8.0 is here!

Quick release since there seem to have been some issues regarding the (lack of) codesigning for the macOS builds.

Added

  • Added client-side sort options for Favorites songs in the Artist page (#1691)
  • (Docker) Added REMOTE_URL env variable to statically set the server remoteUrl when using SERVER_LOCK (#1810) (Thanks @polyjitter)

Changed

  • Loading skeletons have had their shimmer animation re-enabled
  • Image loading has been optimized around the app

Fixed

  • Fixed macOS binary requiring additional codesign to run after removing from quarantine (#1813)
  • Fixed regression on artist page header image using the incorrect primary image
  • Fixed build errors due to missing peer dependencies with pnpm > v10.3.0 (#1796)

What's Changed

New Contributors

Full Changelog: v1.7.0...v1.8.0

1.7.0

09 Mar 09:55

Choose a tag to compare

1.7.0 is here!

Added

Changed

  • Play button on album artist page now uses selected album order on the page (#1754)
  • macOS no longer attemps to autoupdate, instead shows a popup for new update available (#1725)
  • Clicking on the tray icon now toggles the visiblity of the window if exit or minimize to tray is enabled (#1793)
  • Optimized artist page load speed (#1809)

Fixed

  • Fixed file path replacement properly working to both add and replace prefix if both specified (#1749)
  • Fixed performance issues on mobile fullscreen player when large queue is present
  • Fixed web player to retry instead of autoskip on network errror (#1779)
  • Fixed server selector overflowing out of viewport when too many servers are added (Thanks @kgarner7)
  • (Jellyfin/Subsonic) Fixed all artists displayed as favorites on Favorites tab (Thanks @kgarner7)
  • Fixed table column configuration drag/drop not working in some instances
  • (Web) Fixed mediasession disappearing when song is paused (#1758)
  • Fixed various player remote controls becoming unavailable when the window is resized to mobile (#1752)
  • (Navidrome) Fixed missing originalyear filter for smart playlist filters
  • Fixed expanded album image always being blurred when the album is marked as explicit
  • Fixed image resolution setting not working as expected when value is set to 0 (#1741) (Thanks @itsTPM)
  • Fixed share modal not working if clipboard functionality not available in certain contexts (Thanks @kgarner7)
  • (macOS) Fixed some window close interactions
  • (Linux) Fixed mpris seek to use correct timestamp (#1740)
  • Fixed sleep timer not working when audio fade is disabled (Thanks @york9675)

What's Changed

New Contributors

Full Changelog: v1.6.0...v1.7.0

1.6.0

14 Feb 07:56

Choose a tag to compare

1.6.0 is here!

Added

  • Enhanced the playlist page
    • Added album/song view toggle (#1700)
    • Added (pinnable) client-side song filters
    • Added support for pagination views
    • (Navidrome) Added JSON editor for smart playlist query builder (#1711)
    • (Navidrome) Moved the smart playlist query builder bar to the bottom
  • Added support for the CTRL + A select all hotkey in the album detail list view
  • Added support for dragging the album image in the album detail list view
  • Added a playback sleep timer to the player bar (#1671) (Thanks @york9675)
  • Added a setting to toggle the display of the Discord RPC playback state icon (#1699) (Thanks @york9675)

Changed

  • Support IPv6 in Docker build (#1707) (Thanks @maevii)
  • The expanded album detail popup is now global to the main content container
    • The expand button is now available on all Album card items

Fixed

  • Fixed (maybe) CSS/styles breaking on Docker/Web build on new releases due to asset caching
  • Fixed (maybe) duplicate server being added on every login when SERVER_LOCK was configured (#1623)
  • (Jellyfin) Fixed the Recently Played songs carousel not being displayed on the home page (#1697) (Thanks @yoshw)
  • (Subsonic) Fixed infinite recursion error on the Folder view if the server used numeric IDs
  • (macOS) Fixed some issues with the Feishin app logo (#1703) (Thanks @york9675)
  • (macOS) Fixed native windowbar being displayed with the wrong dark/light theme (#1685) (Thanks @york9675)
  • Fixed missing blur for some images when explicit blur setting was enabled (#1701) (Thanks @kgarner7)
  • Fixed alpha release channel update check conditions
  • Fixed list refresh button not working on the artist discography, genre album/songs
  • Improved performance of client-side search on large data lists by removing full-text search (#1709) (Thanks @kgarner7)
  • Fixed the add to playlist modal from the context menu not adding any songs
  • (macOS/Linux) Fixed the spacing of the explicit/clean indicator in song titles (Thanks @kgarner7)
  • Adjusted the spacing of some fixed-width columns in the Detail list view
  • Fixed win-arm64 binary breaking the Windows autoupdater process

What's Changed

  • Fix macOS dark theme window by @york9675 in #1685
  • Regenerate macOS icon (.icns) to fix glitched small icons by @york9675 in #1688
  • Add sleep timer to player bar by @york9675 in #1671
  • fix: actually show Jellyfin recently played songs carousel by @yoshw in #1697
  • Add option to show playing icon in Discord RPC by @york9675 in #1699
  • Add album view for playlists by @jeffvli in #1700
  • fix: restore original macOS squircle icon and regenerate icns properly by @york9675 in #1703
  • add explicit blurring to left expanded image and full screen by @kgarner7 in #1701
  • Regenerate small icon entries in icns to fix glitch on non-retina displays by @york9675 in #1705
  • Listen on IPv6 by default in docker image by @maevii in #1707
  • improve album artist favorite performance and search by @kgarner7 in #1709

New Contributors

Full Changelog: v1.5.0...v1.6.0

1.5.0

10 Feb 08:46
4228084

Choose a tag to compare

1.5.0 is here!

To receive daily (if available) updates, subscribe to the new Alpha (nightly) release channel which is published every day at 11:00 UTC.

Added

  • Added a new Detail view mode for the Album list pages (#1681)
  • Added favorite songs section to Artist page (#1604)
  • Added a Personal / Community toggle for Top Songs in the Artist page (#1372)
  • Added 🅴 explicit / 🅲 clean badge indicators on song and album titles (#1634)
  • Added setting to blur album / song images in the app based on explicit status
  • Added Glassy Dark theme (#1388) (Thanks @pyxfluff)
  • (macOS) Added native menu bar options to open settings (#1655) (Thanks @martgnz)
  • (Windows) Added win-arm64 binary (#1665) (Thanks @ahmelsayed)
  • Added a Alpha (nightly) release channel to the automatic updates channel selection

Changed

  • The play button on the Song list images now only add the selected song to the queue instead of the entire current page; double click behavior remains the same
  • The track radio feature now sets the triggering song as the first song in the queue
  • Ignore CORS / SSL toggles are now included in all authentication forms
  • The version button in the app menu now opens the release notes modal instead of acting as link to the GitHub page
  • Song repeats now trigger another scrobble 'start' request (#1662) (Thanks @Mateleo)

Fixed

  • Fixed favorite button in playlist songs not updating when favorite state changed (Thanks @kgarner7)
  • Fixed MPV player spamming errors in some cases (Thanks @kgarner7)
  • Fixed duplicate scrollbar on artist/genre filter when the list is refreshed
  • Fixed some list refresh behavior (#1637) (Thanks @eramdam)
  • Fixed MPV path selector showing invalid value (#1641) (Thanks @rushiiMachine)
  • Fixed rating on the playerbar from displaying when the Show Star Ratings setting is disabled (#1646)
  • (Jellyfin) Fixed missing song bitDepth value (#1648)
  • (Jellyin) Fixed the Instant Mix to use the correct endpoint for Audiomuse-AI (#1642) (Thanks @A-wels)
  • Fixed missing radio metadata in Discord RPC and Fullscreen Player (#1649)
  • Fixed command palette opening twice when in Mobile responsive view (#1669) (Thanks @kaigritun)
  • Fixed search results being sorted by original sort order instead of best match in playlist songs page (#1650)

What's Changed

  • Use a re-usable Intl.Collator instance for locale compare when possible by @eramdam in #1638
  • Prevent double fetching when force refreshing paginated views by @eramdam in #1637
  • fix(mpv): only check player time when there is an item in the track by @kgarner7 in #1639
  • Update instant mix to use the new items endpoint instead of songs by @A-wels in #1642
  • Fix: ratings display on player bar and mobile player by @dev0T in #1646
  • fix(Settings): mpv path selector displays wrong default by @rushiiMachine in #1641
  • Populate bit depth from Jellyfin by @thearrow in #1648
  • Implement Glassy Dark theme by @pyxfluff in #1388
  • Open settings with shortcut by @martgnz in #1655
  • fix(scrobble): send now-playing updates on repeat-one loops for Navidrome by @Mateleo in #1662
  • Add win-arm64 target by @ahmelsayed in #1665
  • fix: remove duplicate CommandPalette in mobile layout by @kaigritun in #1669
  • Add album detail list view by @jeffvli in #1681

New Contributors

Full Changelog: v1.4.2...v1.5.0