What's Changed
- Add MA Provider Watcher installer script + tests + CI by @sproft-bot in #4
- Add pytest suite for the ytmusic_free provider by @sproft-bot in #5
- feat: add install_provider.sh for one-line provider install by @sproft-bot in #8
- Fix: treat HTTP 403 in library_add/remove as no-op for user-owned items by @sproft-bot in #7
- Detect auth lapses and warn on incomplete cookies (issue #6) by @sproft-bot in #9
- fix: actionable docker-missing guidance for install_provider.sh (issue #11) by @sproft-bot in #12
- fix: watcher logs loud error on MA container mismatch + document sh -s -- (issue #11) by @sproft-bot in #14
- fix: detect partial-auth empty library responses (issue #10) by @sproft-bot in #13
- fix: per-type search and graceful artist navigation for non-channel ids (issue #18) by @sproft-bot in #19
- fix: guard get_watch_playlist so radio_mode degrades gracefully (issue #20) by @sproft-bot in #21
- fix: stamp watcher add-on version per run so HA rebuilds the image (issue #22) by @sproft-bot in #23
- fix: detect HAOS apps/local + /addons paths in watcher installer, refresh docs (issue #22) by @sproft-bot in #24
- Artist parsing fix (#25) + browseId/artist handling for album/track artists + tests by @sproft-bot in #26
- feat: YouTube/YTM link paste + video trimming (by @gusjengis) + Copilot fixes by @sproft-bot in #29
- docs: add Credits section, document --repo-owner, tidy feature copy by @sproft-bot in #30
- docs: document ytmusic:// link workaround (issue #31) by @sproft-bot in #34
- feat: add automated Docker image builds via GHCR for standalone Docker users by @jojo141185 in #33
- fix: detect beta/nightly/dev MA containers + curl-pipe hints (issue #35), post-#33/#34 cleanup by @sproft-bot in #36
- Watcher add-on: opt-in auto-update of the provider by @bygadd in #32
- fix: correct watcher auto-update (#32) — disable reverts to bundled, add CI coverage by @sproft-bot in #37
- docs: mention the watcher's opt-in auto-update in the README by @sproft-bot in #38
- docs: credit @jojo141185 and @bygadd in the README by @sproft-bot in #39
- feat: support multiple provider instances (#40) by @sproft-bot in #43
- Make best audio work by @mawoka-myblock in #44
- fix: complete the audio quality fix and guard it with tests (#41) by @sproft-bot in #45
- docs: correct the stale android_music claim in "How it works" by @sproft-bot in #46
- fix: address four follow-ups from the issue #41 audio quality fix by @sproft-bot in #48
- fix: resolve auto-generated mixes via the watch endpoint (#47) by @sproft-bot in #49
- fix: resolve mix details, and stop truncating editorial playlists (#47) by @sproft-bot in #50
- fix: wait out YouTube's pre-roll ad window before streaming (#51) by @sproft-bot in #57
- fix: stop re-rolling auto-generated playlists on every render (#56) by @sproft-bot in #58
- fix: detect the app_* container name Supervisor now uses (#54) by @sproft-bot in #59
- fix: stop a lapsed cookie from deleting the user's library (#55) by @sproft-bot in #60
- feat: podcast support, anonymous (#52) by @sproft-bot in #61
- feat: sync subscribed podcast shows when authenticated (#52) by @sproft-bot in #62
- feat: cache catalogue lookups and carry the album release year (#53) by @sproft-bot in #63
- fix: fail a library sync we could not read instead of reporting it empty (#64) by @sproft-bot in #67
- test: pin the ProviderFeature members the provider declares (#65) by @sproft-bot in #69
- ci: import the provider against real Music Assistant, and check nightly (#66) by @sproft-bot in #70
- feat: record a version and cut releases from tags (#68) by @sproft-bot in #71
- feat: install the newest release by default, and version the watcher (#68) by @sproft-bot in #72
New Contributors
- @sproft-bot made their first contribution in #4
- @jojo141185 made their first contribution in #33
- @bygadd made their first contribution in #32
- @mawoka-myblock made their first contribution in #44
Full Changelog: v0.1.0-beta.1...v1.0.0