Skip to content

Releases: sigma67/ytmusicapi

v1.0.1

19 Apr 18:51
e457402
Compare
Choose a tag to compare

Fixes 🐞

  • OAuth authentication now also works when passing the OAuth credentials as a string to YTMusic() (#380)
  • OAuth header files can now use any filename (#376)

v1.0.0

08 Apr 18:28
defb621
Compare
Choose a tag to compare

It's been 3 years since #10 was created, but now this project finally has a way of OAuth authentication. Therefore it is considered feature complete for now and ready for a v1.0 release, just in time for almost 1k 🌟! The next major release will be v2.0 featuring proper types with pydantic.

Overall there are not many breaking changes in this release, only the setup procedure has changed. It was a priority to integrate the new OAuth authentication as seamlessly as possible.

Features ✨

  • support OAuth authentication (#10, thanks @vixalien).
  • get_search_suggestions: get the suggestions that appear during typing on YouTube Music (thanks @omgupta15 )
  • CLI for setup. Call ytmusicapi browser for traditional auth using browser headers or ytmusicapi oauth to use the new OAuth authentication (it's simple and fast!)

Breaking Changes ⚒

  • Setup procedure has been reworked. for library use, you can simple do from ytmusicapi import setup instead of importing the YTMusic object

Fixes 🐞

  • search has been a bit problematic since the recent server side changes to top results, it should now be more reliable. If you still notice some odd search results please create an issue

v0.25.2

02 Apr 16:56
6aa6c8d
Compare
Choose a tag to compare

Fixes 🐞

  • search: added some missing keys to top results (videoId, videoType, category)

v0.25.1

27 Mar 14:27
3a03c63
Compare
Choose a tag to compare

Fixes 🐞

  • get_playlist: add 'views' for owned playlists, fix trackCount (#365)
  • refactor search parsing to work with new top result (#360)

v0.25.0

15 Jan 15:57
3e37eb8
Compare
Choose a tag to compare

Features ✨

  • support additional languages: Russian, Hindi, Portuguese, Turkish, Arabic, Urdu (thanks @sheikhhaziq )
  • add_history_item: add songs to play history (thanks @impliedchaos )

Changes ⚒

  • updated runs parsing for get_library_*_albums

Fixes 🐞

  • fixed library functions for some users (#320)

v0.24.1

30 Nov 14:15
d2d66f8
Compare
Choose a tag to compare

Changes ⚒

  • playlist items now include the videoType key (#310, thanks @lsmacedo )
  • zh_TW localization is now supported (#314, thanks @terry3041 )
  • get_song now returns the playbackTracking key, making it possible to add items to the personal history (get_history)

Fixes 🐞

  • fixed an issue with setup for cookies with quotes present (#309, thanks @JohnHKoh )
  • get_watch_playlist: fixed a parsing issue that could cause an artist to mistakenly be interpreted as views (#313)
  • get_playlist: fixed an error for empty playlists (#319, thanks @bretsky )

v0.24.0

04 Oct 16:09
Compare
Choose a tag to compare

Python 3.8 is now the minimum supported Python version.

Features ✨

  • get_album: other versions of an album (i.e. deluxe edition) are now available as part of the response (#279)

Changes ⚒

  • get_library_* methods: future-proofed for future YouTube Music library update thanks to @jake-g
  • BREAKING get_playlist_suggestions removed
  • instead, get_playlist has two new parameters related and suggestionsLimit. They can be used to retrieve related items and suggestions (the latter only for owned playlists)
  • BREAKING get_watch_playlist_shuffle removed
  • get_watch_playlist now has radio and shuffle parameters. These are mutually exclusive. The shuffle parameter is equal to the prior functionality of get_watch_playlist_shuffle

Fixes 🐞

  • get_library_albums and get_artist_albums: add playlistId key to the album dicts in parse_album by @zarkdav in #304
  • get_home: fixed an error when watch playlists where present on the home page (for example mixes)
  • get_history: fixed an issue with unplayable items in the play history (#298, thanks @atlasrule )

v0.23.0

26 Sep 13:20
3ea2aa2
Compare
Choose a tag to compare

Features ✨

  • get_tasteprofile: fetches a list of suggested artists for setting the user's tasteprofile with set_tasteprofile
  • set_tasteprofile: set a user's preferred artists as seen in the web interface when first signing in (or when visiting Settings > Recommendations > Improve your recommendations in the web interface). Thanks to @adrinu for implementing these features

Changes ⚒

  • limit=None: several methods now support setting the limit parameter to None to retrieve all results (#275, thanks @Auzzy @adrinu )
    These include:

    • get_library_songs
    • get_library_albums
    • get_library_artists
    • get_library_subscriptions
    • get_library_upload_songs
    • get_library_upload_artists
    • get_library_upload_albums
    • get_playlist (+get_liked_songs)
  • version string sent with all requests updated to match the new format used by the web application: 1.20220914.01.00 instead of 0.1 (#296)

  • pyproject.toml is now used for the build process instead of setup.py

Fixes 🐞

  • search: raise Exception when filter is set for uploads search (filtering uploads is not possible)
  • get_home: no longer breaks when radio/watch_playlist content is shown on the home page
  • localization: fixed error message when selecting a language that is not supported

v0.22.0

10 May 12:29
Compare
Choose a tag to compare

It is recommended to upgrade as soon as possible for users that are not using authenticated headers. This release fixes randomly failing requests due to the Consent page popping up sometimes.

Features ✨

  • get_song_related: Get related content for a song, as seen in the Related tab in the watch panel.

Changes ⚒

  • get_watch_playlist: Provide related browseId for get_song_related
  • search: added videoType key to indicate whether the song is an official music video (OMV) or other song (UGC) (#264, @lsmacedo )
  • get_watch_playlist: added videoType key as above (#265, @lsmacedo )

Fixes 🐞

  • Unauthenticated users only: Fixed randomly failing requests due to YouTube serving a Consent page instead of the actual content.
  • get_artist: fixed an error for some channels (#267, thanks @jbbgameich)

v0.21.0

27 Feb 12:18
Compare
Choose a tag to compare

Features ✨

  • get_home: You can now get the home page using get_home. This feature is a bit hard to test as the home page changes on every request based on various factors (time of day, popular content, etc.),. Please help out by testing it yourself and reporting any bugs you may find! (#251)

Fixes 🐞

  • get_album: album and artist are now also set correctly on individual tracks, not just in the album metadata (#257)
  • get_charts: fixed a crash when unavailable songs where present in the "trending" section
  • get_artist: fixed an issue with videos some artists which would cause get_artists to crash (7bc65ba)