Repository navigation
3.0.0 (270)
Pre-release
Pre-release
WatchAmp 3.0.0 adds Jellyfin support alongside Plex, with iPhone-based Jellyfin sign-in, Apple Watch provisioning, Jellyfin library browsing, playback, downloads, artwork, playback reporting, watch-local Favorites, and stronger downloaded-library recovery.
What's New
- Added initial Jellyfin server support alongside existing Plex support.
- Added a new Servers tab in the iPhone companion app.
- Added Jellyfin sign-in from iPhone using server URL, username, and password.
- Added Apple Watch provisioning for Jellyfin credentials through WatchConnectivity.
- Added last-known Apple Watch server status in the companion app without storing Plex or Jellyfin credentials on iPhone.
- Added provider status details for the connected server, including provider, server name, server address, user, and last update time.
- Added a provider picker in the companion app with Jellyfin and Plex logo assets.
- Kept Plex sign-in on Apple Watch through the existing PIN flow.
- Added watch-side Jellyfin credential storage, provider selection, and automatic startup restore.
- Added Jellyfin music library discovery.
- Added Jellyfin artist, album, track, playlist, hub, and search browsing through the existing watch library UI.
- Added Jellyfin support for Recently Added, Recently Played, and Recently Released library hubs.
- Added Jellyfin playlist browsing and playlist track playback.
- Added Jellyfin direct-play URL resolution for supported audio formats.
- Added Jellyfin transcode URL support for unsupported formats when transcoding is enabled.
- Added Jellyfin artwork loading for online playback, downloads, album rows, artist rows, playlists, and local downloads.
- Added Jellyfin playback session reporting, progress reporting, pause/resume/stopped timeline updates, and played-track reporting.
- Improved direct-play format detection so Jellyfin can use codec-aware playback decisions while Plex keeps its existing container-based behavior.
- Preserved the media server provider for pending offline downloads so queued downloads continue with the correct backend.
- Improved pending download queue ordering and presentation.
- Improved downloaded album and playlist rows with better artwork fallback behavior.
- Improved downloaded album track lists by showing track numbers and the Now Playing waveform state.
- Stored downloaded artwork as local artwork files when available, reducing metadata size for downloaded tracks.
- Added repair support for legacy downloaded artwork after launch.
- Debounced downloaded-track metadata saves and local downloads library rebuilds to reduce pressure during large download batches.
- Kept immediate download metadata saves for delete, validation, repair, launch loading, and teardown paths.
- Improved play-cache stats so offline download files are not counted as transient play-cache files.
- Updated library cache identity to account for provider and cache schema, clearing stale cached data when switching providers.
- Improved Jellyfin artist and album letter filtering for symbol-heavy names.
- Fixed Jellyfin browsing bugs around artist, album, and cached letter sections.
- Fixed Jellyfin playback handling for direct play and transcoded playback paths.
- Improved Jellyfin playback reporting with WatchAmp client version metadata.
- Added localized strings for the new server connection, provider, and Jellyfin flows.
- Updated existing localizations.
Additional Changes Since Build 254
- Added watch-local Favorites for the active server account.
- Scoped Favorites by provider, server, and user so Plex and Jellyfin accounts keep separate favorite lists.
- Added a Favorites entry to the main Library view.
- Added an On Device Favorites view for favorited tracks that are downloaded to the watch.
- Added Play and Shuffle controls for Favorites.
- Added Download All and Remove All actions for Favorites.
- Added long-press actions on Favorites for Play Next, Play Later, and Remove from Favorites.
- Added long-press actions on On Device Favorites for Play Next, Play Later, and Remove from Favorites.
- Added Add to Favorites actions from artist, album, hub, and library browsing flows.
- Added bulk favorite shortcuts for artists, albums, and hub results.
- Added Play Album and Shuffle controls to downloaded album detail views.
- Added queue handling for downloaded album playback, including Replace Queue, Play Next, and Play Later choices.
- Improved downloaded artist, album, playlist, and track artwork fallbacks by using stored thumbnail paths when local artwork data is unavailable.
- Moved downloaded audio, metadata, and artwork storage from purgeable caches into Application Support.
- Added migration for existing downloaded audio, playlist metadata, track metadata, and artwork from the legacy cache location to persistent storage.
- Increased downloaded artwork fetch size for better local artwork quality.
- Improved legacy downloaded artwork repair to refresh low-resolution artwork and fill missing metadata when needed.
- Fixed a Favorites race where bulk Add to Favorites could save tracks into the wrong account if the active server changed during a fetch.
- Fixed Favorites playback and download tasks so they use a stable track snapshot even if the Favorites list changes immediately afterward.
- Added and updated localized strings for the new Favorites and downloaded album actions.
- Updated Plex and Jellyfin logo assets used by the companion app and related web/screenshot materials.
Additional Changes Since Build 260
- Added Jellyfin Quick Connect support in the iPhone companion app.
- Added a Jellyfin sign-in method picker for Password or Quick Connect.
- Added Quick Connect code display, approval polling, timeout handling, cancellation, and final authentication.
- Fixed Jellyfin library filtering so movie libraries are no longer shown as selectable music libraries.
- Fixed downloaded playlist actions and confirmation dialogs carried forward from the v2.x download flow.
- Added Add to Favorites to offline long-press dialogs in the local downloads library.
- Added long-press actions for local downloaded artists, albums, playlists, and tracks.
- Added Play, Play Next, Play Later, Add to Favorites, and Delete actions for downloaded artists and albums.
- Added Play, Play Next, Play Later, and Delete actions for downloaded playlists.
- Added Delete Track confirmation for local downloaded track actions.
- Added an “Adding to Queue” / “Queuing downloads” status overlay while large download requests are being prepared.
- Improved large v2-to-v3 downloaded-library migration so metadata can load from durable storage, legacy cache storage, or UserDefaults without being discarded.
- Improved downloaded storage migration by moving work off the main actor and indexing legacy files before repair.
- Added manual Recover Missing Downloads in Settings to rebuild metadata for orphaned downloaded audio files.
- Added manual Refresh Download Artwork in Settings for missing or unreadable downloaded artwork.
- Added lazy repair for missing downloaded artwork when downloaded albums, artists, playlists, or tracks appear.
- Improved downloaded artwork lookup so stale absolute artwork paths can recover from current Application Support or legacy cache artwork locations.
- Improved downloaded-file validation to check both durable and legacy download directories.
- Improved local downloaded playback repair to search durable and legacy locations before dropping a downloaded track.
- Added safer recovery policies that pause recovery and artwork refresh while playback, streaming, or downloads could conflict.
- Added cancellation for missing-download recovery and artwork refresh during delete operations and teardown.
- Improved server-change recovery flow with an in-settings loading state, retry path, and View Downloads option when Plex server loading fails.
- Improved app error handling so users with local downloads can return to Settings or view downloads instead of being forced back through authentication.
- Added Back and View Downloads actions to recoverable error screens.
- Added localized strings for Quick Connect, recovery, download queueing, offline delete actions, and new error recovery controls.