io.m51.Gelly Gelly io.m51.Gelly.desktop Music player for Jellyfin and Subsonic

A native, lightweight music player for streaming from Jellyfin and Subsonic/Navidrome servers.

Austin Riba CC0-1.0 GPL-3.0-or-later https://github.com/Fingel/gelly https://github.com/Fingel/gelly https://github.com/Fingel/gelly/issues https://m51.io/misc/gellyimg/gelly-2026-02-12-2.png Main window showing music library https://m51.io/misc/gellyimg/gellyxmaslyrics.png Window showing lyrics with tracking
  • Lyrics window now automatically scrolls to follow along with the current lyric
  • More performance improvements
  • Fix missing icons on KDE and possibly other desktop environments
  • Enable audio normalization on the subsonic backend when available.
  • Fixed a bug in the subsonic backend causing full sized album art to be downloaded
  • Misc performance improvements
  • Gelly now supports Subsonic/Navidrome! To change backends, log out to restart the setup process. Thank you @dstapp for the contribution!
  • New blurred background effect using cover art, a real win for eye candy enthusiasts. Can be disabled in preferences. Thank you @GabMus!
  • Additional interface improvements and refinements, @GabMus continues to polish the UI.
  • Lyrics improvements: better timestamp tracking and the ability to jump to a lyric by clicking on it.
  • Volume can now be adjusted by scrolling the volume button. Middle click to mute.
  • Fixed a bug causing the application to lock during logout/login.
  • Many UI updates and refinements. Thank you @GabMus!
  • Fixed a bug where selecting a song in shuffle mode would play the wrong song.
  • Added a preference to inhibit the system from suspending during playback
  • Fix incorrect song playback after searching/sorting in the song list
  • Updated dependencies
  • Fix illegible text in artist menu.
  • Fix song count not appearing in song list.
  • Fix not being able to seek using some MPRIS clients
  • Fix a performance regression introduced by the song list.
  • New playback mode options: repeat one and repeat all.
  • Improved ui around marking the currently playing song.
  • Gelly now has a songs tab! List, sort and search all songs in your library from a single screen.
  • As part of the introduction of the songs tab, the queue has been moved to a sidebar where it is more convenient to access.
  • Many performance improvements for handling large libraries.
  • UI updates that free up visual clutter.
  • There is no longer an arbitrary limit on smart playlist size.
  • Smoother and easier drag and drop scrolling behavior.
  • Fixed a bug when scrolling the album list rapidly in large libraries that could cause incorrect album art to be displayed.
  • Add a header and hero image to the artist detail page, with a few actions for playlist/queue management.
  • Clickable labels for artists and albums, making navigation easier.
  • Gelly will now remember sorting preferences between app restarts.
  • Yet more MPRIS fixes.
  • Gelly now performs volume normalization between tracks. Toggle it off in preferences if you prefer to blast out your eardrums listening to music that abuses loudness.
  • Even more MPRIS fixes.
  • Report correct song duration to MPRIS clients
  • Other misc. MPRIS fixes.
  • Prevent Gelly from melting Raspberry Pis by sending too many concurrent HTTP requests.
  • The much requested lyrics feature has now landed! An additional icon will appear in the player bar when lyrics are available. If the lyrics contain timestamps, Gelly will follow along
  • Gelly will now report playback to Jellyfin, meaning play counts will track properly
  • New "Most Played" smart playlist and sorting options
  • New preferences to enable/disable smart playlists
  • More UI polishing
  • Fix a typo in the transcoding settings.
  • New preferences dialog. Includes transcoding settings that should help with devices in low bandwidth environments.
  • More consistent loading indicators.
  • More small UI improvements.
  • More playlist functionality: add albums to playlists and create them from the queue.
  • Better audio quality when transcoding: now uses Opus.
  • Misc UI improvements.
  • Create and delete playlists from within Gelly.
  • Use HLS when transcoding.
  • More consistent behavior when moving between views and searching.
  • Added an info dialog for streaming properties
  • Fix a bug that would potentially cause Jellyfin to fail transcoding.
  • Fix a bug causing playlists to not load.
  • New icon! Thank you Jakub Steiner
  • Playlist management - add, remove and reorder tracks
  • Drag and drop tracks in the queue to reorder them
  • Add shuffle playback mode.
  • Ability to sort albums, artists and playlists.
  • Full keyboard navigation support.
  • Fixed an issue with volume scaling being off.
  • Small screen size fixes
  • Fix MPRIS album art not updating properly.

More robust handling of setup errors. Better layout of setup on small screensizes.

Add smart playlist handling. For now, 100 random songs playlist is available.

Properly order tracks in albums with multiple discs. Fix potential deserialization errors for items without a "container" field.

Add an about window as well as fix a bug where playlist parsing was too strict.

Fixes a bug where music items that couldn't be deserialized prevented the library from being loaded.

Packaging updates for Flathub.

Initial Flatpak release.

  • High quality audio playback
  • Browse albums, artists and playlists
  • MPRIS support
  • Request library rescanning
gelly Audio Music Jellyfin Subsonic Navidrome io.m51.Gelly #78d6b3 #325a4a