This update got a little out of hand 😁. A full theme engine, improved performance and database migrations and many UX upgrades everywhere :) Enjoy the new features!
I'm open to hearing your feedback on some of these UI decisions and the default theme colors. Do open issues if you have an opinion to share.
! Back up your local DB before upgrading if you rely on offline mode.
This release also adds jellyfin 10.11+ support including working around currently broken API fields, although I still would not recommend upgrading yet.
What's Changed
Theme engine
- massive visual overhaul with fully customizable themes
- 16 bundled presets (Nord, Kanagawa, Gruvbox, Tokyo Night, etc.)
- the transitions between album cover colors are now smoothly interpolated. Set the duration of the animation with
auto_color_fade_ms: 400 - customizable UI palette (borders, selections, text roles, progress bars)
- borders are now rounded by default. Change this by setting
rounded_corners: false
You can write your own themes by overriding one of the default options in the configuration file. For example:
themes:
- name: "Monochrome Dark (Tweaked)"
base: "Monochrome Dark"
# remove background and album header backgrounds
background: "none"
album_header_background: "none"
# make progress bar follow album accent
progress_fill: "auto"
# high contrast row selection
selected_active_background: "#eeeeee"
selected_active_foreground: "black"Full theming docs included in the README.
UX improvements
- reduced CPU usage during idle playback
- you will now see a spinner next to the name of an open discography to tell whether you're seeing locally cached or fresh tracks
- lists now update in-place, you won't have to press
yto refresh them anymore h / lnavigation for pane switching- better queue display: pinned previous track + smoother scrolling
- the global search bar now auto-clears
- show hearts in
Add to playlistpopups - cover art is now downloaded in the background thread to reduce lag
- the config file is now hot reloaded. This will make it easier to make your own themes and adjust settings
- visually separated the player section and now show all artists of a track instead of only the main album artist like before
Database updates
- introduced a migration system that will make extending the app easier in the future
- added support for library switching - you can limit which libraries are visible
- improved automatic deletion logic using counters which should prevent accidental wipes when jellyfin responds incorrectly
Track Disliking
- you can now dislike tracks using the track popup
- disliked tracks are dimmed across the UI and are excluded from playback unless you specifically play them
Network modes
- jellyfin-tui now adapts to slow or unreliable connections and adjusts in real time to speed changes
- detects very slow networks (like trains in the czech republic) and reduces or pauses heavy background work automatically
Lyrics Improvements
- lyrics lines before the current line are dimmed for better legibility
- slightly adjusted timing of lyrics for hopefully higher time accuracy
always_show_lyricshas been changed tolyricsand lets you hide the lyrics pane entirely if you don't personally use it
lyrics: 'never' # options: 'always', 'never', 'auto'Fixed bugs
- panicking due to negative float for 'Duration' #102
- fixed freeze when seeking while discord thread was active
- fixed database commiting logic to avoid some light corruption on app quit
- fixed negative float panic for malformed Duration
Full Changelog: v1.2.6...v1.3.0

