Skip to content

v0.113.0

Latest

Choose a tag to compare

@gesellix gesellix released this 14 Jun 19:57
· 2 commits to main since this release

Noteworthy

  • Recently played items no longer disappear (or show up twice). Playing
    something and then playing it again, or playing a few different things in a
    row, could make entries silently vanish from a speaker's Recents list, or
    occasionally appear duplicated, well before the list was actually full. The
    cause was a bug in how AfterTouch reorders the Recents list when you replay an
    item: it could drop the replayed entry (and a neighbour) or duplicate one.
    This is now fixed, and the list also heals any duplicates that a
    speaker re-sync had already left behind. Spotify and DLNA / NAS tracks were
    the most visibly affected.

  • DLNA / NAS Library: play a whole folder, with working Next / Previous
    (#501).
    Playing a track from the Library tab used to queue just that one
    track, so the speaker stopped after it and the Next / Previous buttons did
    nothing. You can now play a folder (an album or other container): AfterTouch
    hands the speaker the whole folder as a queue, so Next / Previous and
    auto-advance to the following track work as expected.

  • Adding a second DLNA / NAS media server no longer drops the first (#502).
    Registering another media server on a speaker used to evict the one already
    there. All added servers now stay registered side by side.

  • Replaying a DLNA / NAS track from Recents no longer fails (#503). A track
    played from a media-server library could come back with INVALID_SOURCE when
    replayed from Recents (or restored from a preset). The library account and
    item type are now preserved so the replay selects the right source.

Smaller changes

  • The player's top navigation no longer overlaps its title and icons on narrow
    or portrait screens; it wraps onto a second row instead (#500).
  • The grouping / stereo-pair UI now shows speaker names instead of raw IP
    addresses (#498).
  • After you add a media server, AfterTouch nudges the speaker to refresh its
    source list so the new server shows up without a manual reload.
  • Hardened the provider-settings and group XML builders (and the bundled test
    DLNA server) against a reflected-XSS finding flagged by CodeQL; they now build
    XML through the standard encoder so every value is escaped.
  • The bundled example DLNA server used for local testing gained real-media
    serving (--media-dir), album art, and discovery fixes; this is a developer
    tool and does not affect the service or apps.
  • Dependency updates: Alpine base image 3.23 → 3.24, codecov action bump.

What's Changed

  • docker(deps): bump alpine from 3.23 to 3.24 by @dependabot[bot] in #491
  • ci(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 in the security-actions group by @dependabot[bot] in #485
  • feat(player,cli): nudge sources refresh after adding a DLNA media server by @gesellix in #496
  • fix(marge): keep all DLNA media servers registered (don't evict on second add) by @gesellix in #502
  • fix(marge): preserve STORED_MUSIC account in recents (fix replay INVALID_SOURCE) by @gesellix in #503
  • fix(marge): stop recents move-to-front from dropping/duplicating entries by @gesellix in #504
  • fix(datastore): dedup recents by ID in SaveRecents by @gesellix in #505
  • feat(example-dlna-server): real media via --media-dir, album art, discovery fix by @gesellix in #506
  • fix(player): Library folder playback + replay, small-screen navbar, grouping device names by @gesellix in #507

Full Changelog: v0.112.0...v0.113.0