Skip to content

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

Published 7d 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

ReleasePort's take

Light signal
editorial:auto 7d

The release adds Navidrome/Subsonic support to the macOS Swift app and resolves multiple bugs affecting Expo fetch timeouts, iOS HTTPS connectivity, UI layout, cover‑art handling, and Android CI builds.

Why it matters: Fixes critical Expo fetch‑timeout failures (severity 50), restores iOS HTTPS connections, corrects multi‑platform UI/cover‑art issues, and stabilizes the Android build pipeline after PCM normalizer removal; these directly improve developer and SRE reliability.

Summary

AI summary

Updates 2026.05.27, Expo, and GPUI across a mixed release.

Changes in this release

Feature Medium

Adds Navidrome / Subsonic support in macOS Swift app with multiple new components and views

Adds Navidrome / Subsonic support in macOS Swift app with multiple new components and views

Source: llm_adapter@2026-05-27

Confidence: high

Deprecation Low

Removes PCM volume normalizer in favor of ReplayGain perceived-loudness normalization

Removes PCM volume normalizer in favor of ReplayGain perceived-loudness normalization

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fixes Expo fetch timeouts by replacing AbortSignal.timeout with AbortController + setTimeout and updating md5 dependency

Fixes Expo fetch timeouts by replacing AbortSignal.timeout with AbortController + setTimeout and updating md5 dependency

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fixes iOS HTTPS connectivity by setting NSAllowsArbitraryLoads=true in infoPlist

Fixes iOS HTTPS connectivity by setting NSAllowsArbitraryLoads=true in infoPlist

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fixes Expo Navidrome album detail UI layout and cover‑art caching issues

Fixes Expo Navidrome album detail UI layout and cover‑art caching issues

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fixes GPUI cover‑art derivation to use stream URL parameters, removing blank art on playback start

Fixes GPUI cover‑art derivation to use stream URL parameters, removing blank art on playback start

Source: llm_adapter@2026-05-27

Confidence: low

Bugfix Medium

Corrects macOS Now Playing cover‑art priority order, showing Navidrome artwork correctly

Corrects macOS Now Playing cover‑art priority order, showing Navidrome artwork correctly

Source: llm_adapter@2026-05-27

Confidence: low

Bugfix Low

Fixes Android CI build workflow by deleting make.dep before dependency scan to avoid stale header issues after pcm_normalizer removal

Fixes Android CI build workflow by deleting make.dep before dependency scan to avoid stale header issues after pcm_normalizer removal

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Low

Derives GPUI Navidrome cover art directly from stream URL parameters to avoid blank artwork on playback start

Derives GPUI Navidrome cover art directly from stream URL parameters to avoid blank artwork on playback start

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Bugfix Low

Corrects macOS Now Playing cover‑art priority, preferring derived stream URLs before falling back to albumArt

Corrects macOS Now Playing cover‑art priority, preferring derived stream URLs before falling back to albumArt

Source: granite4.1:30b@2026-05-27-audit

Confidence: low

Full changelog

[2026.05.27]

Added

  • Navidrome / Subsonic support in the macOS Swift app — NavidromeService (Subsonic API client with MD5 token auth), NavidromeManager (multi-server persistence, active server switching, optimistic star toggling, cover art derivation from stream URLs), NdResponseCache (stale-while-revalidate actor cache, 30 min fresh TTL, 24 h eviction), NdLibraryView (Albums / Artists / Songs / Liked / Playlists sections with infinite-scroll pagination), NdSongRowView (track art toggle, hover play, star button, Play Next/Last + Go to Album/Artist context menu), NdAlbumDetailView, NdArtistDetailView, NdPlaylistDetailView (Play / Shuffle), and search integration (when a Navidrome server is active, search3 replaces local gRPC search with ND artist circles, album cards, and song rows)

Removed

  • PCM volume normalizer (pcm_normalizer.c, pcm_normalizer.h, Rust bindings, settings field, docs) — superseded by ReplayGain perceived-loudness normalisation

Fixed

  • Expo: AbortSignal.timeout() replaced with AbortController + setTimeout in navidrome-client.tsAbortSignal.timeout is absent in some Hermes / React Native versions and was silently swallowing timeouts, making every fetch return null; switched to md5 npm package (removed inline implementation); set NSAllowsArbitraryLoads=true in iOS infoPlist to unblock HTTPS servers that do not meet strict ATS TLS requirements
  • Expo ND album detail: mirror local album/[id].tsx hero layout — blurred background image (blurRadius=40) + dark gradient overlay + art shadow + scale/fade scroll animation + sticky header title fade-in; cover art URL now uses a stable salt derived from credentials so expo-image's disk cache is not busted on every render
  • Expo ND detail screens: cover art now renders correctly by placing computed dimensions on a parent View and giving Image className="w-full h-full" so NativeWind owns the style; track rows in album and playlist detail screens now include a TrackMenuButton "…" context menu
  • GPUI: Navidrome cover art is now derived directly from the stream URL parameters (id, u, t, s) instead of requiring an active server connection, eliminating blank album art when playback starts before the ND panel is connected; removes the PENDING_COVER_ART staging mutex and the async getSong round-trip
  • macOS Now Playing / MPNowPlayingInfoCenter: cover art priority corrected — coverArtUrl(forStreamUrl:) is now tried first (returns nil for local tracks), then falls back to albumArt; the previous order always hit the albumArt branch even when it pointed at an empty path, so Navidrome tracks showed no artwork in the system Now Playing widget
  • CI: Android firmware build workflows now delete make.dep before make lib to force a fresh dependency scan after prefix-restore cache hits that carry stale header dependencies (e.g. the pcm_normalizer.h removal)

Full Changelog: https://github.com/tsirysndr/rockbox-zig/compare/2026.05.25...2026.06.27

Breaking Changes

  • Removed PCM volume normalizer (`pcm_normalizer.c`, `pcm_normalizer.h`, Rust bindings, settings field, docs) — superseded by ReplayGain perceived-loudness normalization.

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]