Changelog

What's new in Vibrdrome

Unreleased In development

Security

  • Added an explicit confirmation when saving a public, non-local HTTP server connection. Local/LAN HTTP servers and HTTPS connections are unchanged.

Bug fixes

  • Fixed the progress slider and time display on tracks whose duration is under-reported by the player: elapsed time no longer counts past the end of the slider, the total reflects the longer of the player and server durations, and seeking can reach the true end of the track (#58).
  • Fixed the mini player overlapping the tab bar on small iPhones without a home-indicator inset (iPhone SE, mini): the player now clears the taller iOS 26 tab bar, while notched phones are unchanged (#69).
  • Quick Settings (Now Playing → gear) now opens at full height so the Download and Share rows are reachable on smaller iPhones, where they were previously clipped below the sheet; the sheet can still be dragged down to the medium size (#72).
  • Fixed a stacked double back-arrow when opening Settings → Player through the bottom-right “More” tab on iPhone: overflow tabs (e.g. Radio, Settings) now use an app-owned More menu instead of the system overflow, so navigating deeper keeps a single back button (#70).
Build 54 June 1, 2026

Library & Metadata

  • Multi-artist tracks show each credited artist as an individually tappable link to that artist's page; single-artist tracks and older servers fall back to a single link as before (#59).
  • Tracks on Various Artists / compilation albums now show their real per-track artist instead of “Various Artists”, using the OpenSubsonic artists array (Subsonic) and participants.artist (Navidrome native) (#59).
  • Album editions are shown separately from the album title, matching the Navidrome web app's distinction between release name and edition, e.g. “Deluxe Edition” (#60).
  • Get Info gained OpenSubsonic metadata: Credits (composer / contributors / album artist) and Classical (works / movements / groupings) for songs, plus bit depth, sampling rate, channels, ISRC, and explicit status; albums add release / original-release dates, moods, compilation flag, disc titles, and full genre lists.
  • Named disc titles appear as disc separators in album detail when the server provides them.
  • Lock screen and CarPlay use the OpenSubsonic display album artist and composer.
  • New “Is compilation” tristate filter in the macOS album filter sidebar.

Performance

  • Opening Search no longer hitches — genre loading moved off the main actor so the navigation transition stays smooth (#80).

Security

  • Artist external link URLs hardened (macOS): the artist-name substitution is strictly percent-encoded so it can't inject extra query parameters (#73), and links are restricted to http/https schemes so a tampered template can't open javascript:, file:, mailto:, or custom app-scheme URLs (#74).

Lyrics

  • Internet lyrics fallback: when your server has no lyrics, Vibrdrome looks them up on LRCLIB and shows them — synced (auto-scroll, tap-to-seek) when available, otherwise plain. A Settings → Player toggle (default on) controls this; lookups send title/artist/album to lrclib.net (#82).
  • Per-song lyric timing nudge: shift synced-lyric timing in 0.1s steps when a track runs a little ahead or behind. Remembered per song (#86).

Downloads

  • The Downloads screen groups your offline music by album (artwork, artist, count → tap to open) and surfaces a Playlists section, instead of one flat list (#76).

Shortcuts

  • New “Play Playlist” action for the Shortcuts app and Siri — play one of your playlists by name (#57).

Stability

  • Fixed a background-download crash (RUNNINGBOARD 0xdead10cc): the SwiftData save that runs when a download completes while the app is suspended is now protected by a background-task assertion so it can't be killed mid-write (#77).
Build 53 May 31, 2026

Stability

  • Crash & hang diagnostics via MetricKit: the app captures crash, hang, CPU-exception, and disk-write-exception reports from the system, stores the newest 25 locally, and shows them in Settings → Diagnostics with a one-tap Copy. No remote crash backend — nothing leaves the device unless you send it.
  • The Diagnostics screen is now reachable from Settings (previously unlinked).

Bug fixes

  • Now Playing toolbar icons were invisible in light mode over light album art; contrast restored (#79).
  • Favorites empty state no longer shows two overlapping messages (#67).
  • Mini-player artwork resets to 0° when Spinning Art is disabled instead of freezing at the last angle (#71).
  • Now Playing toolbar: sheet detents and icon shadow refinements (#68).
  • Widget cover-art storage moved from App Group UserDefaults to a file, fixing stale/oversized widget artwork.
  • Songs view restored the inset-grouped card look.
Build 52 May 11, 2026
  • macOS artist detail redesign: hero header, expandable biography, genre pills, customizable external links (Last.fm / MusicBrainz / Wikipedia / Google by default)
  • New macOS Home page with discovery sections (Quick Actions, Jump Back In, Recently Added, Most Played, Featured Genre, more) and configurable section order
  • New macOS loading screen on startup, transitions to home once sync is ready
  • macOS album detail metadata view: clickable genre and label pills, copy-selectable MusicBrainz ID, faster navigation
  • macOS song table: 11 reorderable columns, persisted across launches
  • Hover overlay on macOS album grid cards: favorite, rating, and a centered play/pause button that starts the album or toggles playback if it is already the active queue
  • Song pre-download: the next track fetches in advance for gapless transitions on slow connections; smart shuffle gets a cached-lookahead redesign
  • Library filter UI + adaptive grids on macOS (multi-select genre / label / artist, TriState favorites and downloaded toggles)
  • Multi-genre support across album list, search, and filter sidebar
  • WebP cover art support, off-MainActor filter, Nuke image prefetch
  • SwiftData #Index across CachedSong / CachedAlbum / CachedArtist plus a new AlbumGenre join table; substantial album view performance work (iOS 18 / macOS 15 minimum)
  • CarPlay: Albums alphabet directory now reads the full library from local cache regardless of server sort order (no more "only # and T" letter buckets)
  • Cold launch: iOS lock-screen widget now shows the saved track after force-quit + reconnect (audio session uses longFormAudio policy). CarPlay's top-right Now Playing button still needs the user to start playback once -- iOS reserves that status for apps with observed audio activity. Template-stack overflow crash from tapping the system Now Playing icon while deep in navigation is fixed.
  • Audio interruption: notifications announced over CarPlay no longer restart the track at 00:00 on iOS 26.x; the resume now seeks back to the saved position before resuming playback rate
  • Bug fixes: GenresView optimism crash defense, AlbumGridCard star/rating sync restored, FolderDetailView iPad navigation loop, Remove Offline orphan cleanup, cover art prefetch cache-guard, Queue view ordering, PlaylistsView mosaic scaling
Build 51 April 24, 2026
  • Visualizer: real 32-band FFT drives Spectrum, Waveform, and Aurora (bass on the left, treble on the right)
  • Visualizer: peak-hold caps on Spectrum preset; FFT window 1024 -> 2048 for finer low-end resolution
  • CarPlay: two-letter drill-down for Artists and Albums so large collections are navigable
  • CarPlay: alphabet index fits the screen; hard caps lifted on Albums and Starred
  • Audio: call or text interruption near the top of a track no longer restarts playback from 0
  • Get Info: handles SwiftData .optional and .foreignReference Mirror styles in the Raw tab
Build 50 April 21, 2026
  • Get Info window with Overview and Raw metadata tabs
  • CMD+K / CMD+F search keyboard shortcuts on macOS
  • Now Playing toolbar: hides when empty, new Toolbar Background toggle
  • New Radio Mix toolbar item (song-similarity mix)
  • Radio grid cards: long-press to Delete Station
  • Add Station form: labeled sections for Name / Stream URL / Homepage
  • Liquid Glass toggle subtitle explains what it does
  • iPad floating keyboard no longer drags the mini player up
Build 49 April 20, 2026 (Hotfix)
  • Fix: CarPlay Genres crash on tap (SwiftUI rasterization asserted on missing environment)
  • Replaced rasterized fallback with a plain SF Symbol; album art still loads async
Build 48 April 19, 2026 (Hotfix)
  • Fix: Genres tab crash on open
  • Fix: CarPlay Radio now a flat scrollable list (was chunked by 20)
  • CarPlay caps raised: Genres uncapped, Favorite Songs/Albums 20 -> 200
Build 47 April 18, 2026
  • New Apple Music-style Library tab with Playlists / Artists / Albums / Songs / Genres / Downloaded + Recently Added
  • Default tab bar: Home, Favorites, Library, Search, Radio
  • Favorites tab reworked with Songs / Albums / Artists segments and grid-list toggle
  • New home carousels: Favorite Albums and Featured Genre (daily rotation)
  • Heart button on Album Detail and Artist Detail to favorite/unfavorite
  • Filter menu on Artists and Albums (All / Favorites / Downloaded)
  • Genre list now uses real album artwork
  • CarPlay: genre list shows album art + audio resumes after Siri/call/message interruptions
  • macOS window title hidden next to traffic lights
  • Larger section headings across library views
  • iPad landscape mini player no longer stretches full-width
  • 536 unit tests in 40 suites
Build 46 April 18, 2026
  • Fix: semicolon-containing genres (Hip Hop; Pop) no longer error on tap
  • Fix: first tap on song/album rows now plays or navigates reliably
  • Fix: Album search now searches the entire library, not just loaded pages
  • Fix: audio glitch when spam-tapping tracks or play/pause
  • Tighter touch separation between song title and artist in track rows
  • Contributor CARPLAY_ENABLED build flag + signing guide
  • 536 unit tests in 40 suites
Build 45 April 17, 2026
  • Album Collections: save filter presets to sidebar
  • 336 AI-generated genre icons (DALL-E 3)
  • Genre filter in Albums sort menu
  • Grid columns up to 10 on macOS
  • Auto-Suggest on/off toggle
  • navigationDestination fix
  • 536 unit tests in 40 suites
Build 44 April 16, 2026
  • Queue overhaul: all tracks visible, tap plays without hiding others
  • Recently Played records gapless auto-advance, filters brief skips
  • Now Playing landscape layout (art left, controls right)
  • Grid art scales to 3/4 column settings
  • Full context menu on queue tracks
  • Watch album art refreshes on track change
  • Auto-Suggest on/off toggle in Settings
  • Cold-start audio session fix
  • 536 unit tests in 40 suites
Build 43 April 15, 2026
  • Lossless badge in Now Playing (toggleable in Settings)
  • Your Top Artists carousel on Home with album art
  • Search tab auto-focuses keyboard
  • iPad sidebar scrollable past mini player
  • Delete downloads crash fix
  • 532 unit tests in 40 suites
Build 42 April 15, 2026
  • Tab bar reorder works instantly without kicking to Home
  • Queue layout: Recently Played, Now Playing, Up Next
  • Queue auto-scrolls to Now Playing on open
  • Play history tracks all playback paths
  • 532 unit tests in 40 suites
Build 40 April 15, 2026
  • Tab bar drag-to-reorder restored
  • A-Z section index on Artists with tap-to-jump
  • Configurable grid columns (2/3/4) across all grid views
  • Search bars hidden by default (pull down to reveal)
  • 532 unit tests in 40 suites
Build 39 April 14, 2026
  • Fix: Sleep timer end-of-track resume advances to next track
  • Fix: Recently Played tracks actual play history
  • Fix: Track title no longer navigates away (long-press for Song Info)
  • ReplayGain info shown in Now Playing streaming info
  • Playlist Play Next, Add to Queue on detail and context menus
  • 532 unit tests in 40 suites
Build 38 April 13, 2026
  • Security: credentials to Keychain, download path sanitization
  • Accessibility: VoiceOver labels throughout player and track rows
  • CarPlay: Recently Played replaces broken Search, radio station sections
  • macOS UI overhaul: polished mini player, Now Playing, album detail, grid/list
  • iPad: server manager responsiveness fix
  • ReplayGain pre-gain and fallback gain for loudness matching
  • Album Play Next and Add to Queue actions
  • 532 unit tests in 40 suites
Build 37 April 11, 2026
  • CarPlay overhaul: Now Playing, Up Next, progress tracking, auto-navigate
  • Apple Music-style dock: Artists, Albums, Songs, Genres, Favorites tabs
  • Toolbar cleanup, green dot in menu, tappable artist on albums
  • Offline ListenBrainz/Last.fm scrobble queue
  • Last.fm auth fix, visualizer stutter fix
  • 8 bug fixes from full app audit (playlist delete, downloads, sleep timer, lyrics)
  • 512 unit tests in 37 suites
Build 36 April 10, 2026
  • Tappable artist name on album detail navigates to artist page
  • Offline scrobble queue for ListenBrainz and Last.fm
  • Fix: Last.fm auth for passwords with special characters
  • Fix: Visualizer no longer stutters audio on open
  • 512 unit tests in 37 suites
Build 35 April 10, 2026
  • Last.fm scrobbling with username/password sign-in flow
  • Backup & Restore settings (named JSON export/import)
  • Faceted search: Genre, Year, Format filter chips
  • Deep links: vibrdrome:// URLs in shared text
  • Crossfade curves: Linear, Equal Power, Logarithmic
  • Fix: Transcoding through reverse proxy no longer garbles audio
  • Fix: Visualizer UI stays visible during menu interaction
  • Fix: No audio stutter when opening visualizer
  • Album sort fix, multi-select batch actions, refactoring pass
  • 512 unit tests in 37 suites
Build 34 April 9, 2026
  • Fix: Repeat All loops entire queue (was restarting current track)
  • Fix: Transcoded streams resume on error instead of restarting
Build 33 April 9, 2026
  • Settings 2.0: Player, Appearance, Tab Bar sub-pages with 15+ toggles
  • Smaller album art, bigger text, spinning art toggle, progress ring
  • Home tab with server name, profile menu, playlist creation
  • Connection indicator, haptic tab switch, Downloads tab
  • Mini player dock matching, white area bug fix
Build 32 April 9, 2026
  • Always-visible search bars on all browse views
  • Now playing indicator with animated waveform
  • Swipe actions: Play Next / Add to Queue
  • Toolbar drag-to-reorder in Settings
  • iOS 26 Liquid Glass and floating tab bar
  • Playlist public/private sharing
  • macOS keyboard shortcuts and single-instance
  • Discord Rich Presence with Application ID
  • 510 unit tests in 37 suites
Build 31 April 8, 2026
  • Now Playing toolbar: bold white icons, customizable in Settings
  • Album detail: Apple Music style buttons, lossless badge, per-track hearts
  • Mini player tint reduced to match system tab bar
  • Text contrast improved for light mode
  • Track row: tappable heart, bigger download icon, inline menu
Build 30 April 7, 2026
  • Smart shuffle: avoids consecutive same-artist tracks
  • Recently Played section in Queue view
  • Mini player long-press context menu
  • Search result counts, haptics on radio/queue/search
Build 29 April 7, 2026
  • Back button removed from Now Playing (swipe down to dismiss)
  • Bottom toolbar: 6 bigger icons with native AirPlay
  • Quick Settings sheet: sleep timer, speed, crossfade, download, share
  • Spacing improvements throughout
Build 28 April 6, 2026
  • Now Playing: all titles tappable, album name restored, bigger icons
  • Sleep timer moved into more menu
  • Custom progress and volume sliders (small dot, no thumb)
  • Playlist Play button style matched to Shuffle
  • Tighter spacing throughout Now Playing
Build 27 April 6, 2026
  • Jukebox mode: remote control for server-side audio playback
  • Visualizer: much better beat sync with asymmetric smoothing
  • Playlist Play button icon visibility fix
  • Now Playing spacing improvements
  • Album art tap navigates to album detail
  • 495 unit tests in 34 suites
Build 26 April 5, 2026
  • Tap album art in Now Playing to navigate to album detail
Build 25 April 5, 2026
  • Now Playing redesign: heart/stars/sleep row, shuffle/repeat with transport, volume slider, streaming info, More menu
  • Album Detail: full-bleed parallax art header, circular action buttons
  • Watch app album artwork and auto-reconnect
  • Songs view: 1 API call instead of 51 per page
  • Playlist share button
Build 24 April 5, 2026
  • Offline mode fix: downloaded songs now playable and discoverable
  • Offline banner tappable — navigates to Downloads
  • Offline search — searches downloaded songs locally
  • Bottom padding fix on 7 views (mini player no longer covers content)
Build 22 April 5, 2026
  • ListenBrainz scrobbling with settings toggle and token input
  • Discord Rich Presence (macOS): shows song/artist/album in Discord
  • watchOS companion app: Now Playing, Queue, Library, sleep timer, star/shuffle/repeat
  • Similar Artists section on Artist Detail
  • Artist biography from Last.fm/MusicBrainz
  • Mini player swipe left/right for next/previous
  • Favorites and Downloads: Play All / Shuffle buttons
  • Songs view: infinite scroll, Play All / Shuffle, song count
  • Queue total duration in header
  • Album Detail: Start Radio, Share buttons
  • Song sharing in context menus
  • Now Playing fade/scale transition
  • Accessibility: 35+ identifiers, improved contrast
  • Audio clipping fix for AirPlay/casting
  • AirPlay 2 multi-room verified
  • 482 unit tests in 33 suites
Build 21 March 28, 2026
  • Remove Dynamic Island Live Activity (duplicate of system Now Playing, caused double lock screen and zombie notifications)
  • CarPlay login: improved Keychain retry with 3 attempts at increasing delays (1s, 2s, 5s)
  • CarPlay radio: add DuckDuckGo favicon fallback for stations without Navidrome 0.61 server artwork
  • 448 unit tests in 29 suites
Build 20 April 5, 2026
  • Mini player redesign: capsule shape with spinning album art and circular progress ring
  • Tappable genre badge on Now Playing navigates to genre albums
  • Inline download button on every track row
  • Smart Playlists pill added to Library
  • Playlist and Radio grid/list view toggle
  • Widget overhaul: album art blur, large size, interactive controls
  • Dynamic Island Live Activity for now playing
  • Smart queue: auto-continues with similar songs
  • Queue sharing: save current queue as playlist
  • Album detail: disc separators, Similar Albums carousel
  • Artist page: Top Songs section
  • CarPlay artwork on all lists, radio stale art fix
  • Text Size picker (Small/Default/Large/Extra Large)
  • Offline mode banner
  • Long-press album art to save/share
  • Toolbar spacing increased, underlines removed
  • 451 unit tests, security fixes, performance optimizations
Build 19 April 4, 2026
  • Dynamic Island Live Activity for now playing
  • Smart queue: auto-continues with similar songs when queue ends
  • Queue sharing: save current queue as playlist
  • Album detail: disc separators, Similar Albums carousel
  • Artist page: Top Songs section before albums
  • Download indicators on tracks
  • Offline mode banner
  • Long-press album art to save/share
  • Playlist and Radio grid/list toggle
  • Recently Played carousel
  • Widget: album art blur, large size, interactive controls
  • Security fixes and 451 unit tests
Build 18 April 3, 2026
  • Now Playing redesign: controls toolbar moved above progress bar, actions below
  • 5-star ratings with Subsonic setRating API
  • Sleep timer countdown visible next to moon icon
  • Fade/scale animation on Now Playing open
  • Genre artwork thumbnails in genres list
  • Decades card layout with album art backgrounds
  • Playlist artwork mosaic (2x2 grid for playlists without server artwork)
  • Play History screen with today/week/all-time stats, top artists, top albums
  • Accessibility audit: identifiers added to 17 views, star rating contrast improved
  • Performance: stop unnecessary MPNowPlayingInfoCenter updates, use Nuke cache for dominant color
  • 442 unit tests in 27 suites
Build 17 April 3, 2026
  • Tappable artist/album names on Now Playing (dismiss and navigate to detail)
  • Queue context menu on long-press (Play Now, Play Next, Remove)
  • Queue swipe-left to remove
  • CarPlay credential retry with 1s delay
Build 16 April 3, 2026
  • Home screen widget (Now Playing, small and medium sizes)
  • Siri Shortcuts (Play Favorites, Play Random Mix, Toggle Playback, Skip Track, Artist Radio)
  • Mini player background tints with album art dominant color
  • Up Next subtitle on mini player
  • Haptic feedback on playback controls and star
  • Pull to refresh on Library
  • Search history (saves on submit, shows recent searches)
  • Radio station artwork in mini player and CarPlay
Build 15 April 2, 2026
  • Fix radio artwork crash (MPMediaItemArtwork closure isolation)
Build 14 April 2, 2026
  • Navidrome 0.61 radio station artwork (coverArt with ra-{id} workaround)
  • Security: switch favicon service from Google to DuckDuckGo
  • Security: fix isLocalAddress for full RFC 1918 range
  • 392 unit tests, security audit, privacy policy updated
Build 13 April 2, 2026
  • Fix CarPlay logout when connecting (Keychain accessibility change)
Build 12 March 31, 2026
  • Allow HTTP connections to non-local servers (DuckDNS, dynamic DNS)
  • Security warning shown for HTTP URLs recommending HTTPS
Build 11 March 31, 2026
  • Fix lock screen showing 15-second skip buttons instead of previous/next track
Build 10 March 31, 2026
  • Library folder switching for multi-library Navidrome servers
  • musicFolderId support added to album list, search, starred, and random songs API calls
Build 9 March 31, 2026
  • Fix CarPlay crash caused by CPSearchTemplate in tab bar
  • Search moved to Library > Search in CarPlay
Build 8 March 30, 2026
  • Radio station favicons from homepage domain and radio-browser.info
  • CarPlay threading improvements (@MainActor on scene delegate and search handler)
Build 7 March 30, 2026
  • CarPlay audio entitlement enabled
Build 6 March 29, 2026
  • Customizable Library layout (show/hide/reorder pills and carousels)
  • 6 new visualizer presets: Lava Lamp, Starfield, Ripple, Fireflies, Prism, Ocean (18 total)
  • Smoother visualizer audio reactivity (reduced FFT gain, lower smoothing factor, lerp interpolation)
  • Photosensitivity warning on first visualizer launch with "Don't Show Again" option
  • Disable Visualizer toggle in Settings > Accessibility
  • Epilepsy notice and prefers-reduced-motion CSS on website
Build 5 March 28, 2026
  • Fix device rotation dismissing player, visualizer, and lyrics views
  • Move fullScreenCover for NowPlayingView to ContentView for rotation stability
  • Lift showNowPlaying, showVisualizer, showLyrics state to AppState
  • Remove unused Metal shader variable
  • Rotation UI tests verifying player/visualizer/lyrics stay open
Build 4 March 20, 2026
  • Audio-reactive visualizer with FFT spectrum analysis
  • 12 Metal shader presets
  • Library quick access pills and carousels
Build 3 March 19, 2026
  • Bug fixes and stability improvements
Build 2 March 19, 2026
  • Initial feature set
Build 1 March 18, 2026
  • Initial TestFlight release