Skip to content

v0.13.0

Choose a tag to compare

@screwys screwys released this 11 Aug 10:44
· 108 commits to main since this release
Immutable release. Only release title and notes can be modified.
v0.13.0
d82d8c7

This release has all kind of behavior changes! The most noticeable one being looks: Sidebar tabs now look more natural, and we use native window controls. This means for KDE, minimize/maximize buttons show up; GNOME Tweaks work for moving close icon to the left; Windows and MacOS get a different look with native title bars as well.

I also spent 2 days memory-profiling the app with heapstack to catch inefficient memory usage and decreased the average memory usage roughly by 15%-40%. Peak is roughly down about 70 MiB on my device, while idle behavior is much much better now; it can free 150-200 MiB, dropping to 100 MiB idle and 200-250 while playing on the background. This can be different outside GNU/Linux, jemalloc performance was even better.

Also Weblate trial has ended, and Rufin is now officially hosted on Weblate!

  • EBU R128 audio normalization replaces ReplayGain. While this is opt-in, be mindful that when it is enabled it starts creating normalization data for your whole library, so it can use CPU for a long time until it finishes. (#694)

  • Supported media format is now basically wild west, GStreamer plugins stay as authorative instead of our conservative whitelist. This also comes with more defenses to keep the playback alive. This is mostly free, codecs that need nonfree GStreamer plugins are listed in our README.

  • Clicking an artist row with multiple rows navigate to the first artist. Now all artists are separately clickable. (#696)

  • Download format is now Opus for Jellyfin and Navidrome instead of MP3. (#698)

  • Added a new volume control mode: Perceptual. This provides more control at low levels, old default is presented as Linear. (#704)

  • MacOS gets separate shortcuts instead of the defaults. (#700)

  • Fixed an issue with furiganas pushing kanjis down, making lyrics look misaligned.

  • Fixed a visual bug: Gapless preload was leaking in visually, when the song was about to finish, next song duration was shown before the next song started playing.

  • Fixed an issue with Jellyfin artist metadata editing: it now confirms that the edit is successfuly completed.

  • Special thanks to @fenbyte for testing MacOS integration and suggesting various improvements/fixes; and @k2helix for Windows installer/app window behavior debugging!

Changelog

  • feat: update readme with more troubleshooting info by @screwys in #688
  • chore: update readme for billionth time by @screwys in #689
  • Translations update from Hosted Weblate by @weblate in #683
  • chore: update security doc by @screwys in #690
  • fix (readme) : add experimental tag to macos installation by @screwys in #703
  • fix(ui): make full sidebar navigation native and keep its header visible by @screwys in #705
  • fix(ui): tighten download notice spacing by @screwys in #706
  • fix(ui): release library pages after navigation by @screwys in #707
  • fix(ui): align furigana lyrics by @screwys in #708
  • fix(ui): remove artist detail scroll cutoff by @screwys in #709
  • feat(downloads): use Opus for compressed downloads by @screwys in #710
  • fix(ui): align wrapped furigana baselines by @screwys in #711
  • feat(ui): separate artist links and refine metadata styling by @screwys in #712
  • feat(ui): integrate remote playlists with sidebar pins by @screwys in #713
  • fix(ui): scroll sidebar routes and pins together by @screwys in #714
  • fix(ui): avoid automatic header focus by @screwys in #715
  • feat(playback): add perceptual volume scaling by @screwys in #716
  • fix(issues): label installation methods by @screwys in #718
  • Translations update from Hosted Weblate by @weblate in #717
  • refactor(packaging): simplify build and staging owners by @screwys in #719
  • feat(playback): add EBU R128 loudness analysis by @screwys in #720
  • chore(i18n): update translations by @weblate in #721
  • feat (readme): try to write features in a nicer manner by @screwys in #723
  • fix(platform): repair macOS playback and desktop lifecycle by @screwys in #722
  • chore(i18n): update translations by @weblate in #724
  • fix(ui): release route cells after navigation by @screwys in #725
  • fix(ui): restore bundled icon lookup by @screwys in #726
  • fix(ci): stop source changes from building macOS packages by @screwys in #728
  • fix(app): bound media work and selected source lifecycles by @screwys in #729
  • fix(preferences): use native appearance icon by @screwys in #730
  • fix(playback): apply audio output changes live by @screwys in #731
  • chore(i18n): update translations by @weblate, @aguhadug in #732
  • fix(ui): use platform window controls by @screwys in #733
  • fix(ui): cap home showcase titles by @screwys in #735
  • feat(local): broaden media support by @screwys in #734
  • chore: update bug report by @screwys in #737
  • fix: syntax error on issue template by @screwys in #738
  • fix(desktop): align native trays, menus, and shutdown by @screwys in #739
  • chore(i18n): update translations by @weblate in #740
  • fix: remove duplicate Nix wrapper path and repair issue form by @screwys in #741
  • fix(metadata): apply identified Jellyfin metadata by @screwys in #742

Full Changelog: v0.12.5...v0.13.0