github vdulnev/jrr 2.4.0

latest releases: 2.8.0, 2.7.0, 2.6.0...
one month ago

JRiver Remote 2.4.0

Highlights

  • HTTPS connections to JRiver MC. Connect over SSL with a per-host
    trust prompt for self-signed certificates — no more plaintext-only
    links.
  • Queue management. Swipe to remove a single track from the playing
    now queue, or use the new "Clear" button to empty it in one tap.
  • Diagnostics & log export. A new section in Server Manager lets you
    share or save the current session's app log — useful when reporting
    bugs. On macOS the log can also be opened directly in TextEdit.
  • Smarter orientation handling. Phones lock to portrait, tablets
    keep all orientations, and foldables re-evaluate every time the
    display size changes.
  • Layout polish. Bottom tab bar, library tabs, and several scrollable
    screens lay out correctly on Android 15/16 edge-to-edge devices
    (including Samsung S25 / One UI 8).

What's new

Server connections

  • Add SSL (HTTPS) toggle to the manual setup form, with an SSL port
    field (defaults to 52200, JRiver's standard).
  • Persist useSsl / sslPort per saved server; auto-resume in SSL mode
    on next launch.
  • Access-key resolution now reads <httpsport> from the JRiver lookup
    response so the right port is used automatically.
  • Self-signed certificates are accepted for the JRiver host the user
    connected to with the SSL toggle on. Trust is scoped to that host —
    any other HTTPS endpoint the app talks to (e.g. the JRiver lookup
    service) keeps stock TLS validation.

Playing-now queue

  • New Clear button in the queue header (asks for confirmation
    before removing all tracks).
  • Swipe-left to remove a single track from the queue.
  • Both work for local, offline, and remote zones.
  • Local-zone deletes now skip the active track gracefully instead of
    triggering a reload.

Diagnostics

  • App now writes every log line to a per-session file (truncated on each
    start) — open Server Manager → "Export Logs" to share it.
  • macOS adds Save Log As… (system save panel) and Open in
    TextEdit
    .
  • Flutter framework errors include the diagnostics tree in the log, so
    layout issues are easier to triage post-mortem.

Layout & device support

  • Phones (shortest side < 600dp) are now locked to portrait at startup;
    tablets and desktop keep all orientations.
  • Foldables re-evaluate the lock when crossing the 600dp threshold
    (folding/unfolding), so portrait-only kicks in only on the cover
    display.
  • Bottom tab bar uses dynamic safe-area insets — no more wasted black
    band at the bottom of the screen on Android 15/16 with edge-to-edge
    enforcement.
  • Library tab pills truncate long labels (e.g. "Downloads") with an
    ellipsis on narrow screens instead of wrapping to two lines.

Fixes

  • Tapping a queue tile now starts playback (previously the tap handler
    was returning the closure instead of invoking it).
  • No more "McwsClient is not registered" crash on logout — the player
    no longer tries to send a remote stop command after the session scope
    is torn down.
  • PlayerInterruptedException from just_audio (a cancelled
    setAudioSources call) is now logged at info instead of bubbling up
    as an "Uncaught platform error".
  • Several album-related comparisons (artist / album / album-artist) are
    now case-insensitive, fixing duplicate-album detection across servers
    with mixed-case metadata.
  • Multi-disc albums are reliably grouped using an auto-derived album
    artist when the file metadata is inconsistent.

Under the hood

  • Connection repository no longer maintains its own session-scope
    tracker — uses the existing GetIt scope mechanism.
  • New JRiverHttpOverrides installs once at startup and lets the
    connection layer add hosts to its trust set as sessions resolve.
  • FileLogObserver integrates with Talker; per-line synchronous writes
    guarantee the log file is on disk for instant export.
  • Saved-server schema bumped to v7 (adds useSsl, sslPort columns,
    with an additive migration).

Compatibility

  • Android: minimum unchanged. Tested on Android 14 / 15 / 16
    (Samsung S25 with One UI 8 and Galaxy S24 with One UI 6).
  • iOS / iPadOS: unchanged.
  • macOS: requires the rebuilt bundle for the new
    com.apple.security.files.user-selected.read-write entitlement
    (used by the "Save Log As…" panel). A clean re-run of the app is
    needed once after upgrading.

Known limitations

  • SSL trust is permissive per-host; certificate fingerprint pinning is
    a future enhancement.

Migration notes for developers

  • If you have a saved JRR debug build below 2.4.0, the database will
    auto-migrate to schema v7 on first launch (adds useSsl / sslPort
    to saved_servers). No action required.
  • Any test fixture constructing SavedServer directly must now include
    useSsl and sslPort fields.

Don't miss a new jrr release

NewReleases is sending notifications on new releases.