Skip to content

Releases: sigma67/ytmusicapi

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

v0.19.2

08 Sep 13:23
Compare
Choose a tag to compare

Fixes 🐞

  • improved Python compatibility (3.5 no longer supported due to end-of-life, 3.9 now works without issues)
  • get_charts: fixed some parsing issues

v0.19.1

18 Aug 14:17
Compare
Choose a tag to compare

Fixes 🐞

  • get_album, get_library_upload_album: fixed crash caused by audioPlaylistId returned in different JSON keys to different users

v0.19.0

04 Aug 14:53
Compare
Choose a tag to compare

Features ✨

  • search: Support the new library search that was rolled out globally this week. For this purpose, a new scope parameter was introduced for search. It can take uploads or library values depending on the alternative search scope intended. Consequentially, uploads is no longer passed using the filter argument. The filter argument can be used without a scope (global YouTube Music catalogue search, as previously), or with the new library search. All existing filters work with the library search except the videos filter, as you cannot add videos to your library (only to liked playlist)
  • get_charts: get latest chart data from YouTube Music. This further contributes to ytmusicapi's implementation of the Explore tab in YouTube Music, after the moods and genres implementation in 0.18.0. The function retrieves all data shown on the /charts page and takes a country code as parameter, or ZZ for global charts.

Changes ⚒

  • BREAKING: to improve consistency across the project, the key artists is now used whenever a list of artists with (name,id) dictionary is provided (instead of artist). This affects get_album, get_library_upload_songs, get_library_upload_album,get_library_upload_artist. See #215

Fixes 🐞

  • get_library_upload_albums: a key in the data structure was changed in a recent YouTube update, the function should now work again without issue

v0.18.0

05 Jul 08:25
Compare
Choose a tag to compare

Features ✨

Moods & genres feature contributed by @impliedchaos (#205 , #210 ). See the two new methods below.

  • get_mood_categories: Fetch “Moods & Genres” categories from YouTube Music. Results are clustered by category. Equivalent to what's shown here: https://music.youtube.com/moods_and_genres
  • get_mood_playlists: Fetch the playlists offered for a specific mood/genre returned by get_mood_categories.

Fixes 🐞

  • updated setup behavior to not include bad headers that might corrupt requests (#199)

v0.17.3

23 May 21:54
Compare
Choose a tag to compare

Fixes 🐞

  • added get_signatureTimestamp: can be used to retrieve the current signatureTimestamp for correct streaming links from get_song. (thanks @impliedchaos )

v0.17.2

22 May 09:22
Compare
Choose a tag to compare

Fixes 🐞

  • get_song: added optional signatureTimestamp parameter. This parameter is needed to get correct streaming links in the streamingData key. The correct value of this parameter changes daily. If not provided, a default value is used, which is usually correct but could be wrong for some hours late in the day. Therefore, if you notice issues with the streaming links, retrieve the signatureTimestamp from YouTube and provide it as a parameter. For more information on how to retrieve it, see here: #196 (comment)

Thanks to @KoljaWindeler, @impliedchaos and @Simo for helping debug this issue