Skip to content

This release includes breaking changes for platform teams planning a safe upgrade.

Published 6d Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

airplay audio flatpak graphql grpc libadwaita
+14 more
macosx mpd mpris music-player music-streaming navidrome rockbox rust self-hosted snapcast tokio typescript typesense zig

Summary

AI summary

HTTP streaming timeout removed and pre-buffering interleaving fixed for smoother playback.

Changes in this release

Feature Medium

Adds background prefetch thread per HTTP stream with 2 MB buffer for sub‑µs reads

Adds background prefetch thread per HTTP stream with 2 MB buffer for sub‑µs reads

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

Adds `coverArtUrlFromStreamUrl()` to reconstruct Navidrome cover‑art URLs, showing art in Expo miniplayer, full‑screen player, and queue for ND HTTP streams

Adds `coverArtUrlFromStreamUrl()` to reconstruct Navidrome cover‑art URLs, showing art in Expo miniplayer, full‑screen player, and queue for ND HTTP streams

Source: llm_adapter@2026-05-28

Confidence: high

Bugfix Medium

Removes reqwest total-request timeout; retains 15 s connect timeout, preventing mid‑stream kills for large files

Removes reqwest total-request timeout; retains 15 s connect timeout, preventing mid‑stream kills for large files

Source: llm_adapter@2026-05-28

Confidence: high

Bugfix Medium

Reverts `read_as_file()` to a retry‑loop that fills the full requested buffer

Reverts `read_as_file()` to a retry‑loop that fills the full requested buffer

Source: llm_adapter@2026-05-28

Confidence: high

Bugfix Medium

Updates `fill_buffer()` to pass `BUFFERING_DEFAULT_FILECHUNK` when a second handle has remaining data, enabling round‑robin pre‑buffering and preventing thread starvation

Updates `fill_buffer()` to pass `BUFFERING_DEFAULT_FILECHUNK` when a second handle has remaining data, enabling round‑robin pre‑buffering and preventing thread starvation

Source: llm_adapter@2026-05-28

Confidence: high

Bugfix Medium

Caps HTTP handles to one `BUFFERING_DEFAULT_FILECHUNK` per call in `buffer_handle()` and replaces per‑chunk `fprintf` with `logf()` to eliminate blocking writes

Caps HTTP handles to one `BUFFERING_DEFAULT_FILECHUNK` per call in `buffer_handle()` and replaces per‑chunk `fprintf` with `logf()` to eliminate blocking writes

Source: llm_adapter@2026-05-28

Confidence: high

Full changelog

[2026.05.28]

Added

  • netstream: background prefetch thread per HTTP stream — a dedicated thread fills a 2 MB VecDeque buffer from the network so rb_net_read drains in sub-µs without ever blocking on TCP; forward seeks within the prefetch window consume buffered bytes without issuing a new Range request; backward or large (>2 MB) forward seeks issue a Range request and replace the reader thread atomically

Fixed

  • HTTP streaming: removed reqwest total-request timeout (only connect_timeout 15 s remains) — the previous 30 s deadline killed large remote files mid-stream; read_as_file() reverted to a retry-loop that fills the full requested buffer
  • Buffering interleaving: fill_buffer() now passes BUFFERING_DEFAULT_FILECHUNK instead of 0 when a second handle has remaining data, so next-track pre-buffering round-robins with the current track instead of monopolising the buffering thread and starving the ring buffer
  • HTTP pre-buffering cutting current-track playback: buffer_handle() caps HTTP handles to one BUFFERING_DEFAULT_FILECHUNK per call; streamfd.c replaces per-chunk fprintf(stderr, …) with logf() (compiled out in production) to eliminate hundreds of blocking write(2) syscalls per track
  • Expo: Navidrome cover art now appears in the miniplayer, full-screen player, and queue when playing ND HTTP streams — coverArtUrlFromStreamUrl() added to navidrome-client.ts reconstructs a getCoverArt URL from the id, u, t, s parameters embedded in the stream URL; used as a fallback in trackFromProto when album_art is empty

Full Changelog: https://github.com/tsirysndr/rockbox-zig/compare/2026.05.27...2026.05.28

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track A modern Music Player Daemon based on Rockbox firmware

Get notified when new releases ship.

Sign up free

About A modern Music Player Daemon based on Rockbox firmware

All releases →

Beta — feedback welcome: [email protected]