diff --git a/web_server.py b/web_server.py index ef51af77..16a758be 100644 --- a/web_server.py +++ b/web_server.py @@ -31,7 +31,7 @@ from config.settings import config_manager logger = get_logger("web_server") # App version — single source of truth for backup metadata, version-info endpoint, etc. -SOULSYNC_VERSION = "1.9" +SOULSYNC_VERSION = "2.0" # Dedicated source reuse logger — writes to logs/source_reuse.log import logging as _logging @@ -16955,6 +16955,18 @@ def get_version_info(): "title": "What's New in SoulSync", "subtitle": f"Version {SOULSYNC_VERSION} — Latest Changes", "sections": [ + { + "title": "🎵 Deezer Metadata Source", + "description": "Deezer added as a configurable free metadata fallback alongside iTunes/Apple Music", + "features": [ + "• New setting to choose between iTunes and Deezer as your fallback metadata source — switch anytime from Settings", + "• All metadata lookups, watchlist scans, discovery, and enrichment seamlessly use whichever fallback is configured", + "• On-the-fly artist ID resolution — switching sources auto-matches existing watchlist artists by name on the next scan", + "• Source badges on watchlist artist cards show which services (Spotify, iTunes, Deezer) each artist is matched to", + "• Full backward compatibility — existing iTunes users experience zero changes on upgrade", + "• Name-based duplicate detection prevents adding the same artist twice across different metadata sources" + ] + }, { "title": "📜 Library History", "description": "Persistent record of every download and server import — viewable from the dashboard", @@ -16981,7 +16993,7 @@ def get_version_info(): "features": [ "• New download mode alongside Soulseek, YouTube, Tidal, and Qobuz — select HiFi Only or use in hybrid mode", "• Quality selection: Hi-Res, Lossless, High, or Low with automatic fallback chain (hires → lossless → high → low)", - "• Automatic instance rotation across 6 public API servers — if one goes down, the next is tried seamlessly", + "• Automatic instance rotation across 6 public API servers — any server error triggers failover to the next instance", "• Full search, download, streaming, and post-processing support — works identically to other download sources", "• Test connection button in Settings to verify instance availability" ] @@ -17045,6 +17057,7 @@ def get_version_info(): "• Fix empty brackets in folder names ($year, $quality etc.) not being cleaned when template variables resolve to empty", "• Fix missing album cover art in download progress bubbles for redownload and issue modal downloads", "• Cancel button for watchlist scans — stop manual or automation-triggered scans mid-run", + "• Fix HiFi client not failing over to next instance on HTTP 500 — previously only 502/503/504 triggered rotation", "• Fix service status labels missing HiFi and Qobuz display names", "• Redownload button on enhanced library view — re-download any album directly from the library manager", "• Hemisphere setting for seasonal playlists — southern hemisphere users get correct seasonal recommendations", diff --git a/webui/index.html b/webui/index.html index e8e72cff..4fc866f3 100644 --- a/webui/index.html +++ b/webui/index.html @@ -5146,7 +5146,7 @@