Update changelogs with all new features and fixes since last update

- API Rate Monitor, configurable concurrent downloads, streaming search,
  discovery blacklist, Spotify pagination fix, import automation fix,
  track source-info 404 fix, clear match, Tidal auth fix, debug info
This commit is contained in:
Broque Thomas 2026-04-02 11:00:48 -07:00
parent c0b55e64b4
commit 93bde811ed
2 changed files with 18 additions and 1 deletions

View file

@ -20271,7 +20271,16 @@ def get_version_info():
"• Genius API interval increased from 1.5s to 2s to reduce 429 rate limits", "• Genius API interval increased from 1.5s to 2s to reduce 429 rate limits",
"• MusicBrainz cache now visible in Cache Browser with browse, clear, and clear-failed-only options", "• MusicBrainz cache now visible in Cache Browser with browse, clear, and clear-failed-only options",
"• Cache Health popup shows MusicBrainz alongside other sources, 'Failed Lookups' clarified as MB-specific", "• Cache Health popup shows MusicBrainz alongside other sources, 'Failed Lookups' clarified as MB-specific",
"• Block artists from discovery — hover any track in a discovery playlist and click ✕ to permanently exclude that artist" "• Block artists from discovery — hover any track in a discovery playlist and click ✕ to permanently exclude that artist",
"• Configurable concurrent downloads (1-10) — Settings → Downloads, Soulseek albums stay at 1",
"• Streaming search sources — Apple Music results load progressively instead of blocking for 9+ seconds",
"• API Rate Monitor — real-time speedometer gauges for all services on Dashboard, click for 24h history",
"• Spotify pagination throttled — prevents 429 bans during watchlist scans with large discographies",
"• Import now triggers full scan → DB update chain through automation engine",
"• Track source-info and redownload work with Jellyfin string IDs (#237)",
"• Clear Match button to undo wrong manual matches (#236)",
"• Tidal auth no longer crashes when download orchestrator not initialized",
"• Copy Debug Info includes API call rates and Spotify rate limit state"
] ]
}, },
{ {

View file

@ -3403,12 +3403,20 @@ function closeHelperSearch() {
const WHATS_NEW = { const WHATS_NEW = {
'2.2': [ '2.2': [
// Newest features first // Newest features first
{ title: 'API Rate Monitor', desc: 'Real-time speedometer gauges for all 9 enrichment services on the Dashboard. Click any gauge for 24h history chart. Spotify shows per-endpoint breakdown', page: 'dashboard' },
{ title: 'Configurable Concurrent Downloads', desc: 'Set max simultaneous downloads per batch (1-10) in Settings. Soulseek albums stay at 1 for source reuse. Higher values speed up playlists and wishlists' },
{ title: 'Streaming Search Sources', desc: 'Apple Music and other slow sources now stream results progressively — see artists, albums, tracks as each loads instead of waiting for all 3' },
{ title: 'Global Search Bar', desc: 'Spotlight-style search from any page — press / or Ctrl+K. Full enhanced search with source tabs, library badges, and playback' }, { title: 'Global Search Bar', desc: 'Spotlight-style search from any page — press / or Ctrl+K. Full enhanced search with source tabs, library badges, and playback' },
{ title: 'Block Artists from Discovery', desc: 'Block artists you never want to see in discovery playlists — hover any track and click ✕, or use the 🚫 button on the Discover hero to search and manage blocked artists', page: 'discover' }, { title: 'Block Artists from Discovery', desc: 'Block artists you never want to see in discovery playlists — hover any track and click ✕, or use the 🚫 button on the Discover hero to search and manage blocked artists', page: 'discover' },
{ title: 'MusicBrainz Cache in Browser', desc: 'MusicBrainz cache now visible in Cache Browser — browse, clear all, or clear failed lookups only. Cache Health shows MB alongside other sources' }, { title: 'MusicBrainz Cache in Browser', desc: 'MusicBrainz cache now visible in Cache Browser — browse, clear all, or clear failed lookups only. Cache Health shows MB alongside other sources' },
{ title: 'Wing It Mode', desc: 'Download or sync playlists without metadata discovery — uses raw track names directly. Great for obscure tracks not on Spotify/iTunes' }, { title: 'Wing It Mode', desc: 'Download or sync playlists without metadata discovery — uses raw track names directly. Great for obscure tracks not on Spotify/iTunes' },
{ title: 'Redesigned Notifications', desc: 'Compact pill toasts, notification bell with unread badge, history panel with last 50 notifications and Learn More links' }, { title: 'Redesigned Notifications', desc: 'Compact pill toasts, notification bell with unread badge, history panel with last 50 notifications and Learn More links' },
{ title: 'Track Redownload & Source Info', desc: 'Fix mismatched downloads — search all metadata and download sources in columns, pick the right version, auto-replace. Source Info shows where tracks came from with blacklist option', page: 'library' }, { title: 'Track Redownload & Source Info', desc: 'Fix mismatched downloads — search all metadata and download sources in columns, pick the right version, auto-replace. Source Info shows where tracks came from with blacklist option', page: 'library' },
{ title: 'Fix Spotify Pagination Rate Limits', desc: 'Paginated API calls (get_artist_albums, playlist tracks) now throttled — were bypassing rate limiter and causing 429 bans during watchlist scans' },
{ title: 'Fix Track Source Info / Redownload 404', desc: 'Source info and redownload endpoints now accept string IDs (Jellyfin GUIDs) — were rejecting non-integer IDs (#237)' },
{ title: 'Clear Matched IDs', desc: 'New "Clear Match" button in the manual match modal lets you undo wrong matches and revert to Not Found (#236)' },
{ title: 'Fix Import Not Triggering DB Update', desc: 'Import now emits batch_complete through automation engine — server scan + DB update chain works like normal downloads' },
{ title: 'Fix Tidal Auth Crash', desc: 'Tidal download auth no longer crashes with NoneType error when download orchestrator failed to initialize' },
{ title: 'Fix Hybrid Download Mode', desc: 'Hybrid mode now tries fallback sources when primary source results all fail quality filtering (#235)' }, { title: 'Fix Hybrid Download Mode', desc: 'Hybrid mode now tries fallback sources when primary source results all fail quality filtering (#235)' },
{ title: 'Fix Discovery Progress Display', desc: 'Discovery modals (YouTube, Tidal, ListenBrainz, Beatport) now show live progress instead of staying on Pending' }, { title: 'Fix Discovery Progress Display', desc: 'Discovery modals (YouTube, Tidal, ListenBrainz, Beatport) now show live progress instead of staying on Pending' },
{ title: 'Spotify API Rate Limit Improvements', desc: 'Cached get_artist_albums, eliminated duplicate search calls, auth probe reduced 66%, enrichment workers auto-pause during downloads' }, { title: 'Spotify API Rate Limit Improvements', desc: 'Cached get_artist_albums, eliminated duplicate search calls, auth probe reduced 66%, enrichment workers auto-pause during downloads' },