Releases: spotipy-dev/spotipy
Releases · spotipy-dev/spotipy
2.16.1: Automatic retries bugfixes
Fixed
- playlist_tracks example code no longer prints extra characters on final loop iteration
- SpotifyException now thrown when a request fails & has no response (#571, #581)
- Added scope,
playlist-read-private
, to examples that access user playlists using the spotipy api: current_user_playlists() (#591) - Enable retries for POST, DELETE, PUT (#577)
Changed
- both inline and starting import lists are sorted using
isort
module - changed Max Retries exception code from 599 to 429
2.16: Headless mode
Added
open_browser
can be passed to the constructors ofSpotifyOAuth
andSpotifyPKCE
to make it easier to authorize in browserless environments
2.15: Optional cache_path or username
Added
SpotifyPKCE.parse_auth_response_url
, mirroring that method in
SpotifyOAuth
Changed
- Specifying a cache_path or username is now optional
Fixed
- Using
SpotifyPKCE.get_authorization_url
will now generate a code
challenge if needed
2.14: PKCE Auth Flow
Added
- (experimental) Support to search multiple/all markets at once.
- Support to test whether the current user is following certain
users or artists - Proper replacements for all deprecated playlist endpoints
(See https://developer.spotify.com/community/news/2018/06/12/changes-to-playlist-uris/ and below) - Allow for OAuth 2.0 authorization by instructing the user to open the URL in a browser instead of opening the browser.
- Reason for 403 error in SpotifyException
- Support for the PKCE Auth Flow
- Support to advertise different language to Spotify
- Added 'collaborative' parameter to user_playlist_create method.
- Enforce CHANGELOG update on PR
- Adds
additional_types
parameter to retrieve currently playing podcast episode - Support to get info about a single category
Deprecated
user_playlist_change_details
in favor ofplaylist_change_details
user_playlist_unfollow
in favor ofcurrent_user_unfollow_playlist
user_playlist_add_tracks
in favor ofplaylist_add_items
user_playlist_replace_tracks
in favor ofplaylist_replace_items
user_playlist_reorder_tracks
in favor ofplaylist_reorder_items
user_playlist_remove_all_occurrences_of_tracks
in favor of
playlist_remove_all_occurrences_of_items
user_playlist_remove_specific_occurrences_of_tracks
in favor of
playlist_remove_specific_occurrences_of_items
user_playlist_follow_playlist
in favor of
current_user_follow_playlist
user_playlist_is_following
in favor ofplaylist_is_following
playlist_tracks
in favor ofplaylist_items
Fixed
- fixed issue where episode URIs were being converted to track URIs in playlist calls
2.13: Implicit Grant Flow
Added
- Added
SpotifyImplicitGrant
as an auth manager option. It provides
user authentication without a client secret but sacrifices the ability
to refresh the token without user input. (However, read the class
docstring for security advisory.) - Added built-in verification of the
state
query parameter - Added two new attributes: error and error_description to
SpotifyOauthError
exception class to show
authorization/authentication web api errors details. - Added
SpotifyStateError
subclass ofSpotifyOauthError
- Allow extending
SpotifyClientCredentials
andSpotifyOAuth
- Added the market parameter to
album_tracks
2.12: Update auth token method
Added
- Added a method to update the auth token.
Fixed
- Logging regression due to the addition of
logging.basicConfig()
which was unneeded.
2.11.2: Best to use a redirect URI with a port
Changed
- Updated the documentation to give more details on the authorization process and reflect
2020 Spotify Application jargon and practices. - The local webserver is only started for localhost redirect_uri which specify a port,
i.e. it is started forhttp://localhost:8080
orhttp://127.0.0.1:8080
, not forhttp://localhost
.
Fixed
- Issue where using
http://localhost
as redirect_uri would cause the authorization process to hang.
2.11.1: Quick URL parsing fix
Fixed
- Fixed miscellaneous issues with parsing of callback URL
2.11: Podcasts, shows and episodes
Added
- Support for shows/podcasts and episodes
- Added CONTRIBUTING.md
Changed
- Client retry logic has changed as it now uses urllib3's
Retry
in conjunction with requestsSession
- The session is customizable as it allows for:
- status_forcelist
- retries
- status_retries
- backoff_factor
- Spin up a local webserver to auto-fill authentication URL
- Use session in SpotifyAuthBase
- Logging used instead of print statements
Fixed
- Close session when Spotipy object is unloaded
- Propagate refresh token error
2.10: Add to queue
Added
- Support for
add_to_queue
- Parameters:
- track uri, id, or url
- device id. If None, then the active device is used.
- Parameters:
- Add CHANGELOG and LICENSE to released package