Skip to content

Releases: sigma67/ytmusicapi

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)

v0.20.0

01 Jan 19:12
Compare
Choose a tag to compare

v0.20.0 to ring in the new year! A new release with many bugfixes and contributions from the community. Happy new year to all!

Features ✨

  • localization: zh_CN is now supported for Chinese language support. Thanks @BruceZhang1993 ! (#244)
  • duration_seconds is now provided as an additional field for tracks with a duration key. It is equivalent to the duration key parsed to an integer value in seconds. For albums and playlists, the top level duration_seconds key contains the sum of the durations of all songs in seconds

Fixes 🐞

  • header keys are now case insensitive, this should prevent some issues during setup
  • authuser defined in headers json is now used when uploading a song (#241, thanks @hibby50 )
  • get_watch_playlist: fix for albums with many titles, which now no longer throw an error during continuations
  • fixed special playlists like the recap playlist (#243, thanks @kenbier )
  • isExplicit key should now always be parsed correctly, even with localization on
  • requests session is now also used for get requests, which avoids stalling on initialization (#240)
  • get_history now correctly raises an exception if a user's watch history is disabled

v0.19.5

01 Dec 16:11
Compare
Choose a tag to compare

Fixes 🐞

  • search: fixed error if result thumbnail is missing
  • get_watch_playlist: fixed results if only videoid is provided. Only a single result was being returned, now the video's radio playlist parameter is being passed by default
  • get_library_playlists: playlist count variable is now returned

v0.19.4

28 Oct 20:26
Compare
Choose a tag to compare

Changes 🛠

Fixes 🐞

  • some housekeeping, removed some deprecated code

v0.19.3

24 Sep 19:39
Compare
Choose a tag to compare

Fixes 🐞

  • fixed a parsing bug for default search (no filter, no scope) introduced in 0.19.0