Skip to content

Releases: jeffvli/feishin

0.7.1

07 May 06:06
Compare
Choose a tag to compare

0.7.1 released to fix missing Windows binary.

Full Changelog: v0.7.0...v0.7.1

0.7.0

07 May 03:37
Compare
Choose a tag to compare

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

  • Bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot in #542
  • Bump the npm_and_yarn group across 1 directory with 1 update by @dependabot in #551
  • Bump the npm_and_yarn group across 1 directory with 1 update by @dependabot in #557
  • Bump the npm_and_yarn group across 1 directory with 1 update by @dependabot in #561
  • [bugfix]: Resolve MPV next/prev race condition by @kgarner7 in #566
  • [bugfix]: Add a fallback image to the dynamic background url by @iiPythonx in #571
  • [enhancement]: Show item details by @kgarner7 in #573
  • Fix portrait mode detection by @Kaydax in #582
  • [enhancement]: Support react-router links in Modal by @kgarner7 in #586
  • [enhancement]: Support toggling Album/Track view for gneres by @kgarner7 in #591
  • Implement Navidrome sharing by @iiPythonx in #575
  • [bugfix]: Handle top-level songs for Jellyfin by @kgarner7 in #553
  • Bump ejs from 3.1.9 to 3.1.10 in the npm_and_yarn group across 1 directory by @dependabot in #602
  • Fix LrcLib fetcher by @vukanovics in #603
  • Allow smaller album covers in card/poster display by @Dylancyclone in #598
  • Add new Navidrome smart playlist operators (up to v0.52.0) by @jeffvli in #604

New Contributors

Full Changelog: v0.6.1...v0.7.0

0.6.1

13 Mar 07:27
Compare
Choose a tag to compare

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)

0.6.0

06 Mar 00:35
1b08dfc
Compare
Choose a tag to compare

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

  • AppImage: Set proper categories on desktop entry by @mihawk90 in #430
  • Update scrobble-settings.tsx by @salguerooo in #440
  • Use startIndex in Jellyfin getPlaylistSongList by @SlyFabi in #449
  • Improve the playback speed control by @marksdestiny in #437
  • Bump axios from 1.5.1 to 1.6.0 by @dependabot in #459
  • Bump zod from 3.21.4 to 3.22.3 by @dependabot in #460
  • Bump @babel/traverse from 7.22.19 to 7.23.7 by @dependabot in #462
  • Bump postcss from 8.4.27 to 8.4.33 by @dependabot in #463
  • Bump electron from 25.3.0 to 25.8.4 in /release/app by @dependabot in #464
  • Bump follow-redirects from 1.15.2 to 1.15.5 by @dependabot in #461
  • Fixed incorrect label for album sort by release date by @rappo in #458
  • Add frame to macOS native window bar by @jeffvli in #209
  • [bugfix]: defer restore queue until mpv exists by @kgarner7 in #435
  • [bugfix]: Validate audio sample range, catch AudioContext error by @kgarner7 in #470
  • [bugfix]: Fix add to playlist success message by @kgarner7 in #473
  • [bugfix]: Fix safari audio context by @kgarner7 in #471
  • [enhancement]: support clearing query and http cache by @kgarner7 in #475
  • [bugfix]: Fix repeated track scrobbling by @kgarner7 in #480
  • [feature]: Show album comment, Last.fm/MusicBrainz links by @kgarner7 in #450
  • [bugfix/enhancement] Order artist's Top Songs by play count by @lymnyx in #487
  • [enhancement] Add a button size setting by @iiPythonx in #486
  • [bugfix] Fix global hotkeys not working on startup by @iiPythonx in #488
  • [bugfix] Fixes route of most played songs on home page by @lymnyx in #489
  • [bugfix/enhancement] Fixes german translations being sentence-case by @lymnyx in #491
  • [bugfix]: default go libsecret, support changing secret store by @kgarner7 in #493
  • Bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot in #500
  • [enhancement]: Audio player enhancements by @kgarner7 in #501
  • [bugfix/enhancement]: Support Navidrome structured lyrics by @kgarner7 in #484
  • [enhancement]: support reordering homepage by @kgarner7 in #494
  • Image Resolution Setting by @darkpixlz in #492
  • [bugfix]: Macos trusted accessibility by @kgarner7 in #512
  • Bump the npm_and_yarn group across 2 directories with 1 update by @dependabot in #521
  • [enhancement]: Start minimized by @kgarner7 in #522
  • Add a pre-defined server for the docker version by @Kakoluz in #413
  • [enhancement]: Better version checks by @kgarner7 in #514
  • [bugfix]: Check for Navidrome authentication on startup by @kgarner7 in #510
  • [enhancement]: Differentiate shared and owner playlists for Navidrome by @kgarner7 in #517
  • [enhancement]: Make related tab on full screen player useful by @kgarner7 in #519
  • [enhancements]: fix carousel, full screen metadata improvements by @kgarner7 in #524
  • [feat] Add a dynamic image option to the fullscreen player by @iiPythonx in #526
  • [enhancement]: better version checks for lyrics, Navidrome by @kgarner7 in #529

New Contributors

Full Changelog: v0.5.3...v0.6.0

0.5.3

14 Dec 09:53
Compare
Choose a tag to compare

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

What's Changed

  • Fix setting of replaygain fallback by @kgarner7 in #390
  • Fix 'undefined' in window title when song has no artist name by @mcneb10 in #402
  • [bugfix]: fix playDate parsing for navidrome unstable by @kgarner7 in #408

New Contributors

Full Changelog: v0.5.2...v0.5.3

0.5.2

18 Nov 09:59
Compare
Choose a tag to compare

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

0.5.1

02 Nov 19:13
Compare
Choose a tag to compare

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

  • [bugfix]: Remove setting path in attempt to bypass bug by @kgarner7 in #344

Full Changelog: v0.5.0...v0.5.1

0.5.0

31 Oct 10:35
Compare
Choose a tag to compare

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: v0.4.0...v0.4.1

What's Changed

  • [bugfix]: Fix MPV player playing the same track twice after toggling repeat by @kgarner7 in #292
  • [bugfix]: fix artist discography year filter not clearing by @kgarner7 in #299
  • [bugfix]: Replace hardcoded Jellyfin authentication DeviceId to include hostname and username by @LilyRose2798 in #312
  • [bugfix]: remove ignore CORS/SSL switches from web version by @kgarner7 in #305
  • In the fullscreen player use dynamic resolution for the main image by @TacoCake in #290
  • [bugfix]: properly implement Jellyfin getSongDetail by @kgarner7 in #298
  • [bugfix]: do not duplicate tracks when adding to multiple playlists by @kgarner7 in #300
  • [feature]: support running feishin on custom path by @kgarner7 in #307
  • Reset Carousel position on data refresh by @kgarner7 in #303
  • [Remote] Full PWA support, misc bugfixes by @kgarner7 in #280
  • add more emphasis to current song by @kgarner7 in #283
  • [bugfix]: fix queue offset when removing tracks by @kgarner7 in #301
  • [feature]: Support using system fonts by @kgarner7 in #304
  • [bugfix/feat]: always fetch artist image for Navidrome by @kgarner7 in #317
  • [Feature] Support changing accent/primary color by @kgarner7 in #282
  • Support changing playback rate by @kgarner7 in #275
  • Add favorite hotkey options by @GermanDarknes in #326
  • [bugfix/feature]: Improve ratings by @kgarner7 in #332
  • [bugfix]: prevent default by @kgarner7 in #334
  • Build docker container for arm by @bubylou in #336
  • Fix clear rating hotkey by @GermanDarknes in #338
  • Add localization support by @jeffvli in #333

New Contributors

Full Changelog: v0.4.1...v0.5.0

0.4.1

08 Oct 03:18
Compare
Choose a tag to compare

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: v0.4.0...v0.4.1

0.4.0

25 Sep 03:31
9e3e038
Compare
Choose a tag to compare

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

Jellyfin - Jellyfin users will need to update to a minimum of server version v10.9.0 for proper playlist support.

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: v0.3.0...v0.4.0