feishin

A modern self-hosted music player.

GPL-3.0 License

Stars
1.6K

Bot releases are visible (Hide)

feishin - 0.7.3 Latest Release

Published by github-actions[bot] 3 months ago

Highlights

  • (Desktop) Fix electron version upgrade to v31 (#686)

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.7.2...v0.7.3

feishin - 0.7.2

Published by github-actions[bot] 3 months ago

0.7.2 is here! Sorry for the delayed release!

Highlights

  • (UI) You can now jump to lyrics in the full-screen player (#656) (Thanks @gelaechter)
  • (UI) Add play similar tracks from context menu (#650) (Thanks @isaiahfuller)
  • (UI) Fixed fullscreen player metadata not updating in certain situations (#680) (Thanks @dragonish)
  • (UI) Fixed fullscreen player lyrics alignment when re-opening the window (#676) (Thanks @dragonish)
  • (UI) Add setting to toggle the home page feature carousel (Thanks @kgarner7)
  • (UI) Add setting to use native image aspect ratios for images (Thanks @kgarner7)
  • (Jellyfin) Fixed authentication invalidating on Jellyfin if logging in from multiple locations (#660) (Thanks @sel10ut)
  • (Jellyfin) Fixed recent albums on the homepage fetching incorrect data (#629) (Thanks @sel10ut)
  • (Desktop) Fixed Minimize to Tray setting toggle showing incorrect value (#664) (Thanks @sel10ut)
  • (Desktop) Fixed app crash on macOS for some users (#668) (Thanks @yuygfgg)
  • (Desktop) Fixed window not re-opening when Exit to Tray is enabled (Thanks @kgarner7)
  • (Desktop) Electron v26 -> v31 / Node v16 -> v18

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.7.1...v0.7.2

feishin - 0.7.1

Published by github-actions[bot] 6 months ago

0.7.1 released to fix missing Windows binary.

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.7.0...v0.7.1

feishin - 0.7.0

Published by github-actions[bot] 6 months ago

0.7.0 is here!

Moving forwards, release notes will be simplified as so. Thanks to all the contributors as always!

Highlights

  • (UI) Added Get Info button on dropdowns to show extended details for the selected item
  • (UI) Changed titlebar on light theme to use a lighter color
  • (UI) Error page now shows server menu in case to handle cases where application can become stuck
  • (UI) Fixed synchronized lyrics not repeating when track is repeated on fullscreen player
  • (UI) Added toggle to switch between tracks and albums when double clicking an item in the genres list
  • (UI) (Jellyfin) Fixed lyrics parsing for Jellyfin v10.9.0
  • (UI) (Navidrome) Adds Share item to item context menus
  • (UI) (Navidrome) Added inPlaylist and notInPlaylist operators for Navidrome smart playlists
  • (UI) (Navidrome) Added JSON preview for smart playlist builder output
  • (UI) Added Farsi and Chinese (Traditional) languages (thanks to translators!)
  • (Desktop) The positioning state of the application is now persisted (maximize, fullscreen, window position)
  • (Player) Various fixes/improvements with player implementation including mpris and scrobbling
  • ...and more: view commits

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.6.1...v0.7.0

feishin - 0.6.1

Published by github-actions[bot] 7 months ago

Fixed

  • (Navidrome) Fixed application becoming stuck when Navidrome credential session times out (#538)

Other

  • Downgraded from Electron v27 to v26 to restore compatibility with macOS 10.13 and 10.14 (#534)
feishin - 0.6.0

Published by github-actions[bot] 8 months ago

0.6.0 is here!

Due to the large number of updates in this version, there may be undocumented changes that are not listed here.

Docker

Added a way for a static server to be configured for the dockerized version of Feishin. Check the docker compose for new environment variables configuration.

Added

  • URLs in the Note column are now formatted as links
  • External resource (last.fm, musicbrainz) links are now optionally displayed on the album and artist pages
  • Album pages now show description if available
  • Added dynamic image background option in fullscreen player (#526) (Thanks @iiPythonx)
  • Added additional mpris metadata fields
    • audioBpm
    • comment
    • contentCreated
    • lastUsed
    • userRating
  • Added options to clear the Feishin HTTP and Query cache to clear stored lyrics
  • Added related songs to the Related tab on the fullscreen player
  • Added codec column for song lists
  • Added option to start app as minimized

Changed

  • Playback speed control is now a slider instead of a selection (#437) (Thanks @marksdestiny)
  • Web player is now the default instead of MPV
  • (Jellyfin) Adding a jellyfin server now allows for an empty password field
  • Default hotkey for play/pause toggle set to SPACEBAR
  • Changed icon for Play Random on the player bar

Fixed

  • (Jellyfin) Fixed getPlaylistSongList endpoint only returning the first 300 songs (#449) (Thanks @SlyFabi)
  • Properly set native titlebar on macOS (#209) (Thanks @kgarner7)
  • Fixed long artist page descriptions not being truncated
  • Fixed playback when SHUFFLE and REPEAT ONE is enabled and there is only one track in the queue
  • (MPV) Fixed audio sample rate value on startup (#470) (Thanks @kgarner7)
  • Player buttons are now disabled when the queue is empty
  • Fixed play queue scroll position changing when app window focus changes
  • Fixed scrobbling condition when a song is repeated
  • Fixed volume when set by MPRIS
  • Fixed player index being offset by 1 when restoring queue on startup
  • Various translation fixes

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.5.3...v0.6.0

feishin - 0.5.3

Published by github-actions[bot] 10 months ago

Small release to fix a few things. Also added arm64 AppImage.

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.5.2...v0.5.3

feishin - 0.5.2

Published by github-actions[bot] 11 months ago

Just pushing a few fixes.

Added

Fixed

  • Fixed app potentially opening multiple instances (#385)
  • Fixed discord rich presence not displaying if song does not have an artist (#359) (Thanks @Trapigtrogen)
  • Fixed incorrect translation text in album page (#376) (Thanks @kgarner7)

Other

  • Bumped electron from v25 -> v27
feishin - 0.5.1

Published by github-actions[bot] 12 months ago

Fixing a few things, and thanks to everyone who contributed to translations!

Added

  • Translations (status)
    • Spanish
    • German
    • Italian
    • Russian
    • Portugese
    • French
    • Japanese
    • Polish
    • Chinese (simplified)

Changed

  • Increased sidebar image resolution from 300x300 to 500x500
  • (Jellyfin) "Most Played" on home page now displays songs instead of albums

Fixed

  • Fixed translation keys:
    • Player pause button
    • Fullscreen player tabs
    • Fullscreen player configuration
    • List filters
  • Fixed opacity in full screen player right section
  • Fixed custom font path triggering error in settings page when set in macOS (#343) (Thanks @kgarner7)
  • Fixed text shadow styles on full screen player when using light themes

What's Changed

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.5.0...v0.5.1

feishin - 0.5.0

Published by github-actions[bot] 12 months ago

0.5.0 is here!

This release introduces localization (multi-language) support which is now hosted on weblate. Visit the link if you would like to contribute a translation.

Known issues: There's a couple bugs on the full screen player in 0.5.0 regarding opacity and the translation keys. They're already fixed, but going to wait a bit to see if there are any other bugs that need fixing before pushing 0.5.1.

Added

  • Added localization support via weblate (#74)
  • Added discord rich presence (#72)
  • Added amd64, arm64, and armv7 Docker images (#336) (Thanks @bubylou)
  • Added animated play indicator to currently playing track (#237) (Thanks @kgarner7)
  • Added PUBLIC_PATH Docker environment variable to allow customizing the path Feishin is served from (#307) (Thanks @kgarner7)
  • Added system and custom font support (#270, #288) (Thanks @kgarner7)
  • Added customizable primary accent color (#282) (Thanks @kgarner7)
  • Added customizable playback speed (#94) (Thanks @kgarner7)
  • Added additional hotkeys (#326) (Thanks @GermanDarknes)
    • Favorite/unfavorite current song
    • Favorite/unfavorite previous song

Changed

  • Changed Rating component functionality from [double click to clear] -> [click on the same rating to clear] (#332) (Thanks @kgarner7)
  • (Jellyfin) Change hardcoded Jellyfin DeviceID values to include hostname and username (#312) (Thanks @LilyRose2798)
  • Fullscreen player now uses dynamic image resolution based on window size (#290) (Thanks @TacoCake)
  • Poster carousel now resets to initial position on data refresh (#285) (Thanks @kgarner7)
  • (Navidrome) Artist images are now always attmepted to be fetched even when it is potentially unvailable (#317) (Thanks @kgarner7)
  • Window title now displays SONG_NAME — ARTIST_NAME instead of SONG_NAME

Fixed

  • (MPV player) Fixed MPV playing the same track twice after toggling repeat (#292) (Thanks @kgarner7)
  • (WEB player) Fixed queue not pausing on the last track when repeat is disabled (#291)
  • (Navidrome) Fixed artist year filter becoming stuck (#299) (Thanks @kgarner7)
  • (Navidrome) Fixed smart playlist query editor unable to scroll (#322)
  • (Jellyfin) Fixed playing songs from global search menu (#294) (Thanks @kgarner7)
  • (Jellyfin) Fixed playlist fetch implementation (reverted to previous)
  • (Jellyfin) Fixed missing Play count filter on Jellyfin album sort
  • (Jellyfin) Fixed "edit playlist" form not working due to invalid fetch (#327)
  • Removed unused CORS and SSL toggle from web UI (#305) (Thanks @kgarner7)
  • Fixed add to playlist logic when attempting to skip duplicates (#300) (Thanks @kgarner7)
  • Fixed current track queue position when removing songs from the queue (#226) (Thanks @kgarner7)
  • Fixed rate 0 hotkey not working (#338) (Thanks @GermanDarknes)

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.4.0...v0.4.1

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.4.1...v0.5.0

feishin - 0.4.1

Published by github-actions[bot] about 1 year ago

Small release to fix some issues.

Fixed

  • Fixed issue with incorrect duration conversion causing some scrobbles to fail (#277) (Thanks @kgarner7)
  • Fixed last song in the queue not scrobbling (#207)
  • (Jellyfin) Fixed unsynchronized lyrics only displaying the first line (#279) (Thanks @kgarner7)
  • Fix app menu quit button functionality not working when exit to tray is enabled (#184)
  • Fixed Tracks list page not refreshing on search when using grid view
  • Fixed playback not automatically continuing to the second song in the queue when starting playback from a fresh restart
  • Fixed opacity on unsynchronized lyrics container

Removed

  • Removed fade animations on navigation

What's Changed

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.4.0...v0.4.1

feishin - 0.4.0

Published by github-actions[bot] about 1 year ago

0.4.0 is here! Thank you to all the contributors who helped with this release!

Feishin now has an official docker image which deploys the web version of app.

The roadmap is the same as the previous release -- localization support, additional server compatability, and anything else I can think of along the way.

Added

  • Fixed missing images from related artists carousel (#213)
  • Added opacity slider for full-screen player queue and lyrics sections (#231) (Thanks @kgarner7)
  • Added dedicated refresh buttons to all list views (#235)
  • Added Poster and Card views for the Tracks list page (#128)
  • Added ReplayGain support for Web player (#243) (Thanks @kgarner7)
  • Added Docker (web) support (#245) (Thanks @Kakoluz)
  • Added navigation buttons to the collapsed sidebar (#203)
  • Added disc subtitle display on the album view (#217)
  • Added hotkeys for browser forward/back (#155)
  • Added hotkeys to rate the current song (#208)
  • Added quit button tot he main menu (#184)
  • Added song count column to the album table view
  • (Jellyfin) Improved client detection (application type) on Jellyfin scrobble (#229) (Thanks @Kakoluz)

Changed

  • Changed default application logo -- squared corners and white background
  • Reverted library headers to display 2 lines instead of 1 (#215)
  • The list-view Note field now parses URLs to be clickable (#154)

Fixed

  • Fixed regex causing last lyric line to be omitted (#240) (Thanks @kgarner7)
  • Fixed MPV playback not starting on the first song on startup (#210)
  • Fixed inaccurate duration values for various media types (#205)
  • Fixed potential MPV initialization errors due to local user configuration (#234, #242) (Thanks @iiPythonx)
  • Fixed missing drag area on header when using Web (hidden) window bar style (#206)
  • Various improvements/fixes when restoring the queue (#222) (Thanks @kgarner7)
  • (Remote) Various fixes to the web remote player (#259, #260) (Thanks @kgarner7)
  • (Jellyfin) Fixed issue where certain playlist API fetch would require you to re-add the server
  • (Jellyfin) Fixed song list filter being locked in certain states (#223)
  • (Jellyfin) Allow user to re-authenticate to an existing server when receiving 401 unauthorized status (#214)

Other

  • (Security) Bumped Electron from v25.3.0 -> v25.8.1

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.3.0...v0.4.0

feishin - 0.3.0

Published by github-actions[bot] about 1 year ago

0.3.0 is here! This release has been a long time coming. Hopefully I can push out releases at a quicker pace moving forwards, but that is TBD based on my availability. Feishin is also now sporting a new logo, with all credit to Rycia in the Feishin discord server!

For the next release I will be prioritizing the following:

  • Potential support for Subsonic API
  • Potential support for Funkwhale API
  • Adding multi-language and translation support via i18next/weblate
  • more tbd

Added

  • Added genres list page (#3)
    • Clicking on a genre link now redirects to the song list with the genre filter applied
  • Lyrics enhancements (#146)
    • Matched lyrics are now permanently cached in the browser
    • Add sliders to adjust synchronized and unsynchronized lyrics font size and spacing
    • Add toggle to show/hide the lyrics provider
    • Add toggle to show/hide the lyrics match
    • Add selection to set the text alignment of the lyrics
    • Split lyrics Clear button to a Clear and Reset button
  • Songs in all list views now show a text highlight indicator for the currently playing song (#178)
  • Added column customization options to the album detail page
  • Added an external player remote control (#164) (Thanks @kgarner7)
  • Added search bar to playlist list
  • Added Inter font style
  • Added grid-view for playlist list
  • Added setting to navigate directly to the full playlist view instead of the default view

Changed

  • Styling on currently playing song is now a text highlight rather than background highlight
  • Player bar time values are now centered
  • List grid-views now load initial data from the cache to improve UX on navigation
  • List grid-views now scale based on the window size
  • Changed overlay scrollbars implementation to support all browsers instead of only Electron v22 chromium version

Fixed

  • Fixed sidebar cover not using correct dimensions (#158) (Thanks @gelaechter)
  • Fixed More from this artist shown when no albums are available (#173) (Thanks @BlackDragon-B)
  • Fixed the X clear button on the search bar not updating results (#176)
  • Fixed playlist list not refreshing when deleting a playlist (#134)
  • Fixed playlist list not setting the correct initial count of playlists resulting in needing to scroll to the bottom to fetch more (#180)
  • Fixed potential unicode errors from special characters / update to Electron 25 (#151)
  • (Navidrome) Fixed smart playlist not setting the correct sort order during creation (#163)
  • (Jellyfin) Fixed the order of songs in the album detail page (#192)

Removed

  • (Temporarily) removed the Table (Paginated) option from lists due to bugs in implementation

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.2.0...v0.3.0

feishin - 0.2.0

Published by github-actions[bot] over 1 year ago

0.2.0 is here! A few big features and a lot of various optimizations and improvements.
Making some progress through the backlog of issues and feature requests!

Added

  • Added support for (synchronized) lyrics in the full-screen player (#118, #131) (Thanks @kgarner7)
    • Includes native lyric support and fetchers for NetEase, Genius, and LrcLib
    • Internet fetchers need to be manually enabled in the Playback settings
  • Added application zoom configuration (#140) (Thanks @gelaechter)
  • Added native titlebar option (#122) (Thanks @gelaechter)
  • Added Save password option for Navidrome servers to prevent needing to re-authenticate when session is expired (#132) (Thanks @kgarner7)
  • Added configurable sidebar items
  • Added option to scale image in full-screen player by its original aspect ratio (#137)

Changed

  • Minumum app dimensions changed from 640x600 -> 480x640
  • Improved responsive styling on full-screen player (#130, #124)

Fixed

  • (Linux) Various MPRIS implementation fixes (#119) (Thanks @kgarner7)
  • Fixed Artist column on table-view navigating to an invalid page (#117)
  • (Jellyfin) Fixed track images not displayed if images are not embedded (#97)
  • Fixed search page results being limited by the height of the window
  • Fixed search popup not automatically focusing the input
  • Fixed issue where song would not play when double clicked in the queue
  • Fixed various queue behavior
    • When shuffle is enabled, Add to queue next now properly queues the tracks after the current track
    • When shuffle is enabled, removing songs from the queue now properly removes the tracks from the shuffle order
    • When removing the currently playing song, the player will now default back to the first song in the queue
    • When shuffle is enabled and the queue is completed, the entire queue will be re-shuffled
  • Fixed issue with playlist creation and editing possibly crashing the app

Known Issues

  • The clear button on the search inputs may sometimes not properly re-fetch so you may need to manually clear it

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.1.1...v0.2.0

feishin - 0.1.1

Published by github-actions[bot] over 1 year ago

A couple issues snuck by so here's 0.1.1.

Fixed

  • Fixed issue where queue would potentially skip when transitioning to the next track
  • Fixed various playlist actions
    • Delete playlist from context menu / dropdowns
    • Update playlist
    • Adding / removing from playlist
  • Fixed double click play handler on playlist song pages
  • Fixed double click play handler on song pages using the wrong starting index when shuffle is enabled
  • Fixed missing tooltip on sidebar image
  • Fixed command palette continuing to show global search results when not on the home action page
feishin - 0.1.0

Published by github-actions[bot] over 1 year ago

Feishin is officially out of alpha! 0.1.0 brings an array of new features, design changes, and stability/bug fixes.

Added

  • Added a global hotkey manager for app commands (#84)
  • Added global search page / command palette (#107)
  • Added a setting to save and restore the play queue -- desktop only (#111) (Thanks @kgarner7)
  • Added a collapsible sidebar (#68)
  • Added create playlist button on the playlist list page
  • Added stop button on player bar
  • Added play random (shuffle all) modal on the player bar
  • Added indicator on grid/carousel cards for favorited items
  • Added notification / canceller on long-running play-queue add API requests
    • Useful if you accidentally attempt to queue your entire library in one go

Changed

  • Double clicking on a song in a list now queues all available tracks with its starting index
    • Important If you double click on the unfiltered Tracks page list -- this will attempt to queue your entire library
  • Carousels item components are now consistent with grid list
  • Full-width disc number rows are now shown on the album page regardless of whether or not the album as more than 1 disc
  • Loading skeleton animation removed to improve performance
  • Adding a server no longer requires an input password to validate (#48)

Fixed

  • Fixed volume defaulting to 100 on startup (sorry about your ears) (#76)
  • Fixed MPV issue where sample rate would sometimes be applied as 0 if unset
  • Fixed responsiveness of full-screen player layout (#113) (Thanks @kgarner7)
  • (Jellyfin) Fixed artist discography view (#81)
  • Various error handling improvements
  • Fixed volume slider styling on 100% (#85)
  • Fixed stop behavior on mpv
  • Fixed MPV playback repeating when repeat is disabled (#55)

Other / refactor

  • Migrated http client from ky back to axios
  • Refactor API controllers to use ts-rest and zodios frameworks
  • Switch carousel components to use swiper.js to allow drag/swipe

What's Changed

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.0.1-alpha6...v0.1.0

feishin - 0.0.1-alpha6

Published by github-actions[bot] over 1 year ago

Automatic updates were set disabled by default in this version by mistake, please re-enable it in the settings if you want to automatically download new releases

This release was mostly focused on overall app stability with a sizeable amount of redesign and bug fixing. The app will continue as alpha since I'm planning on additional large scale refactors to make the app more sustainable for future development.

Thank you as always to everyone involved in providing feedback!

Added

  • Added system tray and close/minimize to tray settigns (#49)
  • Added new dedicated window frames (styled for Windows and macOS)
  • Added full-screen player view (#27)
  • Added common MPV audio parameters to settings page (#45) (#64)
  • Added option to disable automatic updates

Changed

  • The settings page now opens to a page instead of a modal
  • Password validation removed from "Add server" form (#48)
  • Grid views are now sized by "items per row" instead of a px size (will be updated later to support dynamic sizing by window) (#30)

Fixed

  • Fixed MPV not quitting on app exit (#20)
  • Fixed "Play" button on artist song list fetching and queueing the entire media library (#28)
  • Fixed no repeat option still repeating the queue after ending (#55)
  • Fixed incorrect album artist displayed in album view (#51)
  • Fixed song being paused when the maximize button is clicked (#39)
  • Fixed volume controls not working in web version (#35)
  • Fixed Linux AppImage release not working for some OS due to external dependencies (#57)
  • Fixed issue where multiple instances of the app could be opened simultaneously (#40)
  • Suppressed main process javascript error due to MPV (#8)
  • Fixed window controls blocked if "fixed" sidebar play queue is open (#36)

What's Changed (auto-generated)

New Contributors

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.0.1-alpha5...v0.0.1-alpha6

feishin - 0.0.1-alpha5

Published by github-actions[bot] over 1 year ago

Highlights

  • Added server scrobbling support
  • Redesigned list page headers / sidebars
  • Added MPRIS support
  • Improved all dropdowns / context menu actions
  • Added favorites support
  • Added ratings support (Navidrome only)
  • Added playlist add/remove songs support
  • Added volume control with scroll

What's Changed

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.0.1-alpha4...v0.0.1-alpha5

feishin - 0.0.1-alpha4

Published by github-actions[bot] almost 2 years ago

  • Adds album artist detail page
  • Play by album artist
  • Add/Remove favorite functionality
  • Adjust default column sizing
  • Add to queue from album list / track list
  • Adds genre tags to album detail page
  • (Navidrome) Add smart playlist query builder and editor
  • Other misc. adjustments and fixes

As the application is still in alpha, I recommend you backup your Navidrome sqlite database if testing out the smart playlist builder.

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.0.1-alpha3...v0.0.1-alpha4

feishin - 0.0.1-alpha3

Published by github-actions[bot] almost 2 years ago

  • Bit more streamlining for pages and headers
  • Adds initial playlist pages and functions
  • Other misc. features and fixes

Bookmark the project page if you want to follow along!

Full Changelog: https://github.com/jeffvli/feishin/compare/v0.0.1-alpha2...v0.0.1-alpha3