Releases: jeffvli/feishin
0.7.2
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
- Add option to play similar tracks from the context menu by @isaiahfuller in #650
- Allow jumping to lyrics by @gelaechter in #656
- (Jellyfin) Adjust querying recent album releases by @sel10ut in #629
- [bugfix] Fix cache settings not being sentence cased by @iiPythonx in #657
- [bugfix]: properly clean up MPV on quit, use pid for socket by @kgarner7 in #627
- MediaSession/Remote enhancements by @kgarner7 in #632
- (Jellyfin) Allow multiple sessions from the same user with different instances by @sel10ut in #660
- [bugfix]: use tsx instead of ts-node, update @electron/rebuild by @kgarner7 in #659
- Bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot in #662
- Bump ws from 8.17.1 to 8.18.0 in /release/app in the npm_and_yarn group across 1 directory by @dependabot in #663
- Adding in docker compose instructions to README by @minicoz in #654
- Fix minimize to tray setting toggle by @sel10ut in #664
- fix blank screen when reopening window on macos by @yuygfgg in #668
- Fix synchronized lyrics that may become unaligned during playback after re-rendering by @dragonish in #676
- Fix full screen player metadata may not change when switching queue by @dragonish in #680
New Contributors
- @isaiahfuller made their first contribution in #650
- @sel10ut made their first contribution in #629
- @minicoz made their first contribution in #654
- @yuygfgg made their first contribution in #668
- @dragonish made their first contribution in #676
Full Changelog: v0.7.1...v0.7.2
0.7.1
0.7.1 released to fix missing Windows binary.
Full Changelog: v0.7.0...v0.7.1
0.7.0
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
andnotInPlaylist
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
- @Kaydax made their first contribution in #582
- @vukanovics made their first contribution in #603
- @Dylancyclone made their first contribution in #598
Full Changelog: v0.6.1...v0.7.0
0.6.1
0.6.0
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
- @mihawk90 made their first contribution in #430
- @salguerooo made their first contribution in #440
- @SlyFabi made their first contribution in #449
- @marksdestiny made their first contribution in #437
- @dependabot made their first contribution in #459
- @rappo made their first contribution in #458
- @lymnyx made their first contribution in #487
- @darkpixlz made their first contribution in #492
Full Changelog: v0.5.3...v0.6.0
0.5.3
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
Just pushing a few fixes.
Added
- Translations (status)
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
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: v0.5.0...v0.5.1
0.5.0
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
, andarmv7
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 ofSONG_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
- @LilyRose2798 made their first contribution in #312
- @TacoCake made their first contribution in #290
- @GermanDarknes made their first contribution in #326
- @bubylou made their first contribution in #336
Full Changelog: v0.4.1...v0.5.0
0.4.1
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
- Fix Jellyfin unsynchronized lyrics only showing first line by @kgarner7 in #279
- fix scrobble durations by @kgarner7 in #269
Full Changelog: v0.4.0...v0.4.1