------------------------------------------------------------------- Sat Dec 20 20:56:13 UTC 2025 - Christophe Marin - Update to 1.11.4 * fix KeyError when audio playlists are missing playNavigationEndpoint * get_explore: handle episodes in trending * get_charts: fix crash if artists are missing rank data (when unauthed) ------------------------------------------------------------------- Thu Dec 4 18:09:02 UTC 2025 - Christophe Marin - Update to 1.11.3: * get_playlist/get_home: handle MUSIC_PAGE_TYPE_AUDIOBOOK ------------------------------------------------------------------- Sun Aug 31 08:29:24 UTC 2025 - Christophe Marin - Update to 1.11.1 * search: added a fallback for top result parsing to fix a KeyError * get_home: fix song artist parsing * get_home: parse recommended channels * get_playlist/get_episodes_playlist: fix metadata * get_library_playlists: Don't throw an error if playlist title is missing ------------------------------------------------------------------- Thu Jul 31 19:16:01 UTC 2025 - Christophe Marin - Update to 1.11.0 * dropped Python 3.9 support * added py.typed and enabled mypy strict typing * add get_explore * fix get_charts * get_album: prevent KeyError when parsing missing artist data * search: fix episode parsing * get_album: distinguish between "other versions" and "releases for you" * Space between verification_url and comma in the OAuth Flow ------------------------------------------------------------------- Fri Apr 18 14:07:44 UTC 2025 - Christophe Marin - Update to 1.10.3 * get_charts: fix #751: parse_video returns always a video ID or None * get_artist: Fix singles being renamed to "Singles & EPs" * search: fix #758 missing views key for "songs" filtered ------------------------------------------------------------------- Fri Mar 7 07:44:17 UTC 2025 - Christophe Marin - Update to 1.10.2 * Fix docs build * cache visitor ID on first use * fix #743: get_album() now returns None for 'audioPlaylistId' ------------------------------------------------------------------- Sun Feb 2 21:12:03 UTC 2025 - Christophe Marin - Update to 1.10.1 * get_playlist: support audio playlists * improved ease of use for OAuthCredentials: now possible to from ytmusicapi import OAuthCredentials * Fixed an issue with get_playlist and related endpoints where no more than 100 items would be returned with limit set to a value >100 ------------------------------------------------------------------- Fri Dec 27 19:39:53 UTC 2024 - Christophe Marin - Update to 1.9.1 * fix(setup): Use resolve() before invoking as_uri() * search: exclude "Single"/"EP" text from album artist list * add_history_item: update doc and check for authentication * doc: restructure reference ------------------------------------------------------------------- Sat Dec 21 16:00:36 UTC 2024 - Christophe Marin - Update to 1.9.0 Features: * updated OAuth setup CLI implementation to require client ID and secret via YouTube Data API. Please check the updated documentation for usage and instructions to create the credentials. * added optional parameters for OAuth client ID and secret to setup * remove_search_suggestions: added new function to remove search suggestion * added option to get_lyrics to retrieve timestamped lyrics instead Fixes: * fixed duration parsing for very long videos * fixed get_history crash due to server-side update * get_playlist: join multiple title runs * fix "get_album doesn't fetch audioPlaylistId for some albums" ------------------------------------------------------------------- Fri Nov 15 09:45:33 UTC 2024 - Adrian Schröter - Update to 1.8.2 * fix(playlists): handle missing regex group in trackCount * create_playlist: raise error when invalid characters are pa… * upload_song: add error when file exceeds limit of 300MB * refactor: use pathlib * search: fix missing artists when filtering songs/videos * search: fix missing playlistId for album results while authenticated * attempt to find runs in subtitle if not in title ------------------------------------------------------------------- Wed Aug 28 07:14:54 UTC 2024 - Christophe Marin - Update to 1.8.1 * search: fix playlistId on album results * get_library_upload_*: fix 'v1.8.0 makes no songs to be found' * get_playlist: small additions to documentation ------------------------------------------------------------------- Tue Aug 6 12:29:07 UTC 2024 - Christophe Marin - Update to 1.8.0 Features: * introduce exception classes * get_user_videos to get full list of user videos based on result of get_user Fixes: * get_playlist: fix title for podcast episodes * get_playlist: re-add thumbnails * get_podcast: fix edge case when first subtitle is missing * library uploads: fix broken index after downloads rollout Misc: * coverage: remove code for old playlist format ------------------------------------------------------------------- Thu Jul 18 07:37:16 UTC 2024 - Christophe Marin - Update to 1.7.5 * podcasts: fixed a crash by returning blank album author ID when it doesn't exist * get_album: fix invalid track list artists * get_playlist: fix korean language by extracting song count from text using regex Changes from 1.7.4: * fixed get_album other_versions * fixed get_episodes_playlist * edit_playlist: Allow moving title to bottom of playlist * get_playlist: title, artists and album are correctly resolved in collaborative playlists * fix sum_total_duration failing if duration_seconds is not an int ------------------------------------------------------------------- Sun Jun 16 09:12:44 UTC 2024 - Christophe Marin - Update to 1.7.3 * playlist search result "itemCount" field cast to int * add playlist id to album search * make parse_menu_playlists more error proof * get_home: remove "year" attribute from album results, parse podcasts and episodes ------------------------------------------------------------------- Tue May 21 19:38:33 UTC 2024 - Christophe Marin - Update to 1.7.2. Changes since 1.6.0: * get_account_info: get authenticated user's account info * get_library_channels: added type attribute to differentiate between channels and artists * get_artist: now supports shows from the artists view, improved documentation * support new A/B test formats for get_playlist and get_album * adding Optional type hinting for limits parameters * get_library_upload_songs: Gracefully retrieve uploaded songs with a blank duration ------------------------------------------------------------------- Mon Mar 11 12:35:17 UTC 2024 - Christophe Marin - Update to 1.6.0 * New endpoints: * get_account_info * get_library_podcasts * get_library_channels * get_channel * get_channel_episodes * get_episodes_playlist ------------------------------------------------------------------- Tue Mar 5 09:50:14 UTC 2024 - Christophe Marin - Update to 1.5.4 * Fix parsing of album and views in parse_playlist_items * get_episode: support progress percentage * nav() now displays some debugging information on KeyError ------------------------------------------------------------------- Fri Feb 23 21:35:17 UTC 2024 - Christophe Marin - Update to 1.5.3 * Revert "get_playlist: fix albums on tracks" (gh#sigma67/ytmusicapi#548) * Revert "get_charts: removed trending category (no longer available on YTM)" ------------------------------------------------------------------- Wed Feb 21 22:56:37 UTC 2024 - Christophe Marin - Init python-ytmusicapi. Needed by audiotube