Skip to content

3.0.0 (274)

Pre-release
Pre-release

Choose a tag to compare

@fkick fkick released this 22 Jul 21:03
· 5 commits to main since this release

WatchAmp 3.0.0 Release Notes

WatchAmp 3.0.0 adds Jellyfin support alongside Plex, companion-app sign-in for both server providers, 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.
  • 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.
  • Added Navidrome logo assets and OpenSubsonic/Navidrome implementation planning notes.
  • 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.

Additional Changes Since Build 270

  • Added Plex PIN sign-in from the iPhone companion app.
  • Added companion-to-watch provisioning for Plex account tokens, so Plex setup can start on iPhone and finish on Apple Watch.
  • Added Plex PIN code display, polling, timeout handling, cancellation, and copy-to-clipboard support.
  • Improved Jellyfin Quick Connect with copy-to-clipboard support for Quick Connect codes.
  • Improved Jellyfin Quick Connect sync and watch provisioning state after approval.
  • Added pending server setup state in the companion app so users know when Plex or Jellyfin setup is waiting for Apple Watch.
  • Added a Clear Pending Setup action for stuck or obsolete companion-to-watch provisioning attempts.
  • Cancelled outstanding server provisioning transfers before sending a new Plex or Jellyfin setup payload.
  • Added immediate watch server status messages in addition to application-context updates.
  • Improved companion server status messaging for signed-in, signed-out, pending, and blocked provider states.
  • Improved provider switching by clearing stale Jellyfin credentials when saving Plex credentials and clearing stale Plex credentials when saving Jellyfin credentials.
  • Added watch-side handling for Plex account tokens received from the companion app.
  • Improved the Apple Watch Plex setup path after companion sign-in by loading Plex Home users from the received account token.
  • Improved the Apple Watch sign-in screen layout for smaller watch displays.
  • Added copyable Plex and Jellyfin codes with visible Copied feedback.
  • Updated Settings wording from Subscription to Premium and adjusted Premium purchase wording for the lifetime purchase model.
  • Moved Speaker Playback into a Bluetooth & Speaker settings section.
  • Added Add to Favorites actions to downloaded album groups and downloaded track rows.
  • Marked Remove from Favorites as a destructive Now Playing action.
  • Updated companion walkthrough, setup, FAQ, privacy, website, and StoreKit metadata for the v3 release.
  • Added v3 App Store screenshot assets for Apple Watch, iPhone, iPad, Spanish, and Simplified Chinese.
  • Added localized strings for companion Plex sign-in, provisioning, pending setup, copied-code feedback, and updated server status messaging.