github Kopuz-org/kopuz v0.15.0

latest releases: v0.20.0, v0.19.0, v0.18.0...
one month ago

This one is mostly plumbing and polish. Settings moved out of the database into a plain settings.toml you can hand edit or manage declaratively (with hjem and not home manager), the Flatpak now builds from source under a new app id, lyrics fill in word by word, and remote tracks start faster with a real buffer bar.

Highlights

Settings are a TOML file now. Settings split out of kopuz.db into settings.toml sitting next to it, so you can edit them by hand and they apply on the next launch. Values layer in order: the old database blob, then settings.toml, then any *.toml in settings.d/ (lexicographic), then KOPUZ_CONFIG_* env vars (KOPUZ_CONFIG_THEME=nord kopuz, nest tables with __). KOPUZ_CONFIG_PATH relocates the file. Library, playlists, favorites and runtime state stay in the DB (#637).

hjem support. Link ~/.config/kopuz/settings.toml from the Nix store and Kopuz notices the file is immutable, never writes to it, and renders those keys locked and grayed out in the settings UI. Everything you leave out stays editable in app. The README has both the pkgs.formats.toml and inline variants (#637).

Lyrics fill word by word. Word timed sources (Apple Music, enhanced LRC, richsync) already handed over syllable chunks, but the view only flipped each one between two opacities. Chunks now carry their own start and end and a gradient wipe slides across the glyphs at frame rate, interpolated between playback ticks. The wipe is capped at 1.2s so a chunk before a long pause lands on the beat, and prefers-reduced-motion keeps the old instant fill (#638).

Remote audio streams instead of waiting. HTTP range requests with progressive fallback cut the startup delay on remote sources, and the progress bars draw seek aware buffered ranges so you can see what's loaded (#615).

Song radio on Navidrome. Subsonic servers that expose a server side song radio queue (Navidrome with AudioMuse doing the ML classification, for example) now drive the radio instead of Kopuz guessing locally (#617).

Flatpak builds from source. Required for Flathub, and it fixes the currently broken published builds. The app id moved from com.temidaradev.kopuz to moe.kopuz.kopuz for verification, the manifest now lives in the kopuz-flatpak submodule and gets pushed on every tag, and metainfo.xml grew correct developer, homepage, source and donation links (#608, #625, #624, fixes #609 and #614).

Flatpak sandbox tightened. org.freedesktop.Flatpak host spawn is opt in now, since granting it by default is a hole straight through the sandbox. If it's missing Kopuz warns you and tells you how to enable it. Flatpak browsers also get a filesystem override so a browser host can still read Kopuz's config (#612, #627).

Version and commit in settings. General settings shows the version and the exact build commit with a copy button, and exported logs carry the same build provenance (#604).

Fixes

  • Settings scrolled badly with the CD layout selected. The CD fan's repeating-radial-gradient loops became a single multi stop pass, several heavy blur and shadow effects are gone, the fan is GPU cached, and the sections that had escaped #settings-category-content moved back inside it (#639).
  • Opening a playlist could render a handful of tracks adrift in a viewport sized empty space, because a scroll offset left over from a longer list pinned the virtual window to the last row (#630).
  • Home page showed the first track's cover for a playlist instead of the playlist's own cover (#605).
  • Space toggled play/pause only while the window root had focus. It's a document level handler now and steps aside inside text inputs and contenteditable (400f1d6).
  • Transport controls, sliders and the CD view stayed mirrored in RTL locales (#631, fixes #549, #536, #534).
  • Sidebar text color was hardcoded, so it turned unreadable in light mode and on light matugen palettes (#613).
  • The Star History chart in the README and the localized READMEs points at a working host again (#636).

What's Changed

New Contributors

Full Changelog: v0.14.0...v0.15.0

Don't miss a new kopuz release

NewReleases is sending notifications on new releases.