This release includes many new features, but also some breaking changes for existing functions. Some functions were renamed, so make sure to update your programs.
Features ✨
---------
* add user id parameter to constructor to allow using brand accounts
* add subscription methods
* `add_subscription`
* `remove_subscription`
* `rate_playlist` (also works with albums)
* `subscribe_artists`
* `unsubscribe_artists`
* add library methods
* `get_library_artists`
* `get_library_albums`
* `get_library_songs`
* `get_library_subscriptions`
* `get_library_upload_artists`
* `get_library_upload_albums`
For all features, check out the [documentation](https://ytmusicapi.readthedocs.io/en/latest/reference.html).
Changes ⚒
-------------
* **BREAKING** changes to `get_playlist_items`, `search` and `get_album`:
* `album` dictionary keys are now a dictionary with `name` and `id`. Previously the keys only contained the name string
* `artists` dictionary keys now contain a list of artist dictionaries, each with the artist's name and id. Previously the `artist` key only contained the name string of the first artist
* **BREAKING** `get_uploaded_songs` renamed to `get_library_upload_songs`
* **BREAKING** `get_playlist_items` renamed to `get_playlist`, now also returns playlist metadata (id, privacy, title, description, track count)
* **BREAKING** `get_playlists` renamed to `get_library_playlists` to be consistent with our library calls, and to avoid confusion with `get_playlist`
* `get_album` also returns the associated playlistId, durationMs, trackCount
* default limits for `get_playlist_items` and `get_liked_songs` changed to 100 from 1000
* Added type hints to all functions
Fixes 🐞
---------
* Fix song duration for default search
* Fix get_playlist_items if playlist has no song count
* Fix issue in get_upload_song if requested while song processing