- Deprecated the following methods due to February 2026 Spotify Web API changes: (e436a3c)
SpotifyWebAPI::addMyAlbums()SpotifyWebAPI::addMyAudiobooks()SpotifyWebAPI::addMyEpisodes()SpotifyWebAPI::addMyLibrary()SpotifyWebAPI::addMyShows()SpotifyWebAPI::addMyTracks()SpotifyWebAPI::addPlaylistTracks()SpotifyWebAPI::currentUserFollows()SpotifyWebAPI::currentUserFollowsPlaylist()SpotifyWebAPI::deleteMyAlbums()SpotifyWebAPI::deleteMyAudiobooks()SpotifyWebAPI::deleteMyEpisodes()SpotifyWebAPI::deleteMyLibrary()SpotifyWebAPI::deleteMyShows()SpotifyWebAPI::deleteMyTracks()SpotifyWebAPI::deletePlaylistTracks()SpotifyWebAPI::followArtistsOrUsers()SpotifyWebAPI::followArtistsOrUsers()SpotifyWebAPI::followPlaylist()SpotifyWebAPI::getAlbums()SpotifyWebAPI::getArtists()SpotifyWebAPI::getArtistTopTracks()SpotifyWebAPI::getAudiobooks()SpotifyWebAPI::getCategoriesList()SpotifyWebAPI::getCategory()SpotifyWebAPI::getChapters()SpotifyWebAPI::getEpisodes()SpotifyWebAPI::getMarkets()SpotifyWebAPI::getNewReleases()SpotifyWebAPI::getPlaylistTracks()SpotifyWebAPI::getShows()SpotifyWebAPI::getTracks()SpotifyWebAPI::getUserPlaylists()SpotifyWebAPI::myAlbumsContains()SpotifyWebAPI::myAudiobooksContains()SpotifyWebAPI::myEpisodesContains()SpotifyWebAPI::myShowsContains()SpotifyWebAPI::myTracksContains()SpotifyWebAPI::reorderPlaylistTracks()SpotifyWebAPI::replacePlaylistTracks()SpotifyWebAPI::unfollowArtistsOrUsers()SpotifyWebAPI::unfollowPlaylist()
- Added the following methods:
SpotifyWebAPI::addMyAudiobooks()(9f6f8ad)SpotifyWebAPI::addMyLibrary()(3e91670)SpotifyWebAPI::addPlaylistItems()(ad903a7)SpotifyWebAPI::deleteMyAudiobooks()(9f6f8ad)SpotifyWebAPI::deleteMyLibrary()(6531b15)SpotifyWebAPI::deletePlaylistItems()(958cbe0)SpotifyWebAPI::getMySavedAudiobooks()(9f6f8ad)SpotifyWebAPI::getPlaylistItems()(c8d3904)SpotifyWebAPI::myAudiobooksContains()(9f6f8ad)SpotifyWebAPI::myLibraryContains()(b3870b7)SpotifyWebAPI::updatePlaylistItems()(890926a)
SpotifyWebAPI::createPlaylist()will now always use the current user. (01e53a5)
- Breaking Dropped support for PHP versions less than 8.3. (ff6ea06)
- Breaking Removed deprecated
SpotifyWebAPI::usersFollowPlaylist()method. UseSpotifyWebAPI::currentUserFollowsPlaylist()instead. (12f1596) - Breaking Calling
SpotifyWebAPI::createPlaylist()without a user ID is no longer possible. (80adafd) - Breaking Calling
SpotifyWebAPI::addMyTracks()withoutidsortimestamped_idsis no longer possible. (1b12cda)
- Added support for
timestamped_idstoSpotifyWebAPI::addMyTracks()and deprecated passing strings or array without anidskey. (f17cdff) - Added a
default_headersoptions to add HTTP headers that should be included in each request. (ef9b92e) - Deprecated
SpotifyWebAPI::usersFollowPlaylist(), useSpotifyWebAPI::currentUserFollowsPlaylist()instead. (1427059) - Updated CA bundle. (4e82140)
- Converted
selftostaticinRequestclass. (42edbe9) - Marked deprecated endpoints in inline docs. (298b1e6)
- Updated CA bundle. (d95e5f5)
- Corrected request bodies of
SpotifyWebAPI::addMy*methods. (07a1de0) - Corrected request bodies of
SpotifyWebAPI::deleteMy*methods. (f61995e)
- Added
Request::parseBody()helper method. (980e2b2)
- Updated successful response code check in
SpotifyWebAPI::replacePlaylistTracks(). (bc402ce)
- Fixed faulty passing of
nullinSpotifyWebAPI::followPlaylist()andSpotifyWebAPI::play(). (f60b0c3) - Updated CA bundle. (dd82fba)
- Corrected return value of
SpotifyWebAPI::getSnapshotId(). (c115c3c) - Added
nullreturn type toSpotifyWebAPI::getMyCurrentTrack()andSpotifyWebAPI::getMyCurrentPlaybackInfo(). (776d063) - Updated CA bundle. (3f9e57b)
- Fixed faulty endpoint URL in
SpotifyWebAPI::createPlaylist(). (c1a499c)
- Breaking Dropped support for PHP versions less than 8.1. (c3f69bd)
- Breaking
SpotifyWebAPI::getAudioFeatures()no longer accepts arrays,SpotifyWebAPI::getMultipleAudioFeatures()should be used instead. (ec4ccd2) - All methods now include complete type declarations. (a80a55e)
- Calling
SpotifyWebAPI::createPlaylist()without a user ID is now deprecated and will print warnings. (055f3df)
- Fixed faulty endpoint URL in
SpotifyWebAPI::createPlaylist(). (c1a499c)
- Added support for passing a user ID to
SpotifyWebAPI::createPlaylist(). (b91f71) - Updated CA bundle. (b099498)
- The following setters now returns
self: (fe2e90f)Request::setOptions()Session::setAccessToken()Session::setClientId()Session::setClientSecret()Session::setRedirectUri()Session::setRefreshToken()SpotifyWebAPI::setAccessToken()SpotifyWebAPI::setOptions()SpotifyWebAPI::setSession()
- Updated CA bundle. (84bf7a2)
- Added missiing
$optionsargument toSpotifyWebAPI::getAudiobook()andSpotifyWebAPI::getAudiobooks()methods. (12293f1)
- Added methods to get info about audiobooks: (f79b95e):
SpotifyWebAPI::getAudiobook()SpotifyWebAPI::getAudiobooks()SpotifyWebAPI::getChapter()SpotifyWebAPI::getChapters()
- Updated CA bundle. (987e99a)
- Added the
SpotifyWebAPI::getMyQueue()method to get the current user's queue. (710b70d) - Updated CA bundle. (7e4994b)
- Added
additional_typesoption support toSpotifyWebAPI::getPlaylist()andSpotifyWebAPI::getPlaylistTracks(). (9c3d117) - Updated inline docs with missing options on multiple methods. (7b49453)
- The deprecated way of passing arrays to
SpotifyWebAPI::getAudioFeatures()will now print run time warnings. (a5071b0) - Replaced legacy
CURLINFO_HTTP_CODEwithCURLINFO_RESPONSE_CODE(cdefdee) - Updated inline links to Spotify docs. (04d2412)
Session::refreshAccessToken()will no longer send client secret when none exists. (7e35d41)
- Fixed an issue where errors returned from cURL would not be read properly. (177a808)
- Updated CA bundle. (44ca81a)
- Exceptions thrown on failing requests will now try a bit harder to give a failure reason by falling back to the complete response body. (e69dbea)
- Updated CA bundle. (a43fd12)
- Breaking Removed the following, deprecated methods: (bd08fb8)
Request::getReturnType()- Use thereturn_assocoption instead.Request::setReturnType()- Use thereturn_assocoption instead.Request::setCurlOptions()- Use thecurl_optionsoption instead.SpotifyWebAPI::followPlaylistForCurrentUser()- UseSpotifyWebAPI::followPlaylist()instead.SpotifyWebAPI::unfollowPlaylistForCurrentUser()- UseSpotifyWebAPI::unfollowPlaylist()instead.SpotifyWebAPI::getReturnType()- Use thereturn_assocoption instead.SpotifyWebAPI::setReturnType()- Use thereturn_assocoption instead.
- Breaking
SpotifyWebAPI::deletePlaylistTracks()no longer accepts theidkey, theurikey should be used instead. (403a8a2) - Breaking
SpotifyWebAPI::getArtistAlbums()no longer accepts thealbum_typeoption, theinclude_groupsoption should be used instead. (4cf3301) - Breaking
SpotifyWebAPI::__construct()will no longer acceptRequestobjects as the first argument. (1f08d8) - Breaking Dropped support for PHP versions less than 7.3. 21776d6)
- Possibly breaking HTTP response header names are now always lowercased, previously they were returned as-is. (f0140fa)
- Possibly breaking
SpotifyWebAPI::addPlaylistTracks()will now return snapshot IDs insteadd of a boolean. (d6167a3) - Updated CA bundle. (fb0c1a)
- Added methods to control the episodes in a user's library: (b89299d):
SpotifyWebAPI::addMyEpisodes()SpotifyWebAPI::deleteMyEpisodes()SpotifyWebAPI::getMySavedEpisodes()SpotifyWebAPI::myEpisodesContains()
- Added
SpotifyWebAPI::getMultipleAudioFeatures()method to get the audio features of multiple tracks.SpotifyWebAPI::getAudioFeatures()will now return the audio features of a single track unless passed an array which will maintain the old behaviour. (d282e9d) - Added
SpotifyWebAPI::getMarkets()method to get the markets where Spotify is available. (181cc28) - Restructured Getting Started guide. (2291a78)
- Updated inline PHPDoc Spotify API links to their new format. (8a2f870)
- Fixed an issue where empty arrays would be passed to Spotify, causing errors. (b350526)
- Fixed
http_build_querycalls passingnullinstead of empty strings. (e94593e) - Updated CA bundle. (00556f2)
- Added a
Session::generateState()method. (fa5ea56) SpotifyWebAPI::getArtistAlbums()can now also accept the documentedinclude_groupsparameter. (dc9a84)- Fixed some cases where objects weren't always properly cast to arrays. (31eae20)
- PSR-12 coding style is now used. (fed3aa6)
HTTP 100 Continueheaders which is sometimes returned are now stripped. (375c64d)- Updated CA bundle. (ad29a9b)
- Added the
SpotifyWebAPI::getPlaylistImage()method to get a playlist's cover image. (7a4f0e6)
- Made sure
&is always passed to allhttp_build_query()calls. (e2f0c26) - Updated CA bundle. (4b824c3)
- Fixed an issue with the auto retry feature sometimes not working correctly due to lowercased header names. (28c7b1d)
- Methods deprecated in
3.xreleases will now print deprecation warnings. (fe67153) SpotifyWebAPI::queue()can now also accept track IDs. (a3aee78)- Updated CA bundle. (dfa4edc)
- Fixed an issue where URIs couldn't be passed in
SpotifyWebAPI::deletePlaylistTracks(). (f6e61e5) - Hardened check before replacing in
SpotifyWebAPI::idToUri(). (299062a)
- Added support for the PKCE authorization flow. (88e4cad)
- Added the
SpotifyWebAPI::queue()method to add tracks to the user's playback queue. (d6859a5)
- Options and
Sessioninstance can now be passed to theSpotifyWebAPIconstructor. (d178204) - Options can now be passed to the
Requestconstructor. (065a7fc)
- Added support for new Podcast endpoints (eba5971):
SpotifyWebAPI::addMyShows()SpotifyWebAPI::getMySavedShows()SpotifyWebAPI::getShow()SpotifyWebAPI::getShows()SpotifyWebAPI::getShowEpisodes()SpotifyWebAPI::getEpisode()SpotifyWebAPI::getEpisodes()SpotifyWebAPI::myShowsContains()SpotifyWebAPI::deleteMyShows()
- Added support for the new
additional_typesoption to (b04e06e):SpotifyWebAPI::getMyCurrentTrack()SpotifyWebAPI::getMyCurrentPlaybackInfo()
- Updated CA bundle. (4359fc3)
- Deprecated the following methods (e643628):
SpotifyWebAPI::followPlaylistForCurrentUser()(useSpotifyWebAPI::followPlaylist()instead)SpotifyWebAPI::unfollowPlaylistForCurrentUser()(useSpotifyWebAPI::unfollowPlaylist()instead)
- Updated
SpotifyWebAPI::addPlaylistTracks()to always send everything in request body. (ac862ef) - Refactored calls to
SpotifyWebAPI::authHeaders(). (7d0badd)
- Breaking The following, deprecated, methods have been removed (02d5598):
SpotifyWebAPI::addUserPlaylistTracks()(useSpotifyWebAPI::addPlaylistTracks()instead)SpotifyWebAPI::createUserPlaylist()(useSpotifyWebAPI::createPlaylist()instead)SpotifyWebAPI::deleteUserPlaylistTracks()(useSpotifyWebAPI::deletePlaylistTracks()instead)SpotifyWebAPI::followPlaylist()(useSpotifyWebAPI::followPlaylistForCurrentUser()instead)SpotifyWebAPI::getUserPlaylist()(useSpotifyWebAPI::getPlaylist()instead)SpotifyWebAPI::getUserPlaylistTracks()(useSpotifyWebAPI::getPlaylistTracks()instead)SpotifyWebAPI::reorderUserPlaylistTracks()(useSpotifyWebAPI::reorderPlaylistTracks()instead)SpotifyWebAPI::replaceUserPlaylistTracks()(useSpotifyWebAPI::replacePlaylistTracks()instead)SpotifyWebAPI::unfollowPlaylist()(useSpotifyWebAPI::unfollowPlaylistForCurrentUser()instead)SpotifyWebAPI::updateUserPlaylist()(useSpotifyWebAPI::updatePlaylist()instead)SpotifyWebAPI::updateUserPlaylistImage()(useSpotifyWebAPI::updatePlaylistImage()instead)SpotifyWebAPI::userFollowsPlaylist()(useSpotifyWebAPI::usersFollowPlaylist()instead)SpotifyWebAPI::userFollowsPlaylist()(useSpotifyWebAPI::usersFollowPlaylist()instead)
- Breaking Removed the possibility to omit
tracksin calls toSpotifyWebAPI::deletePlaylistTracks(). (3562402) - Breaking Dropped support for PHP versions less than 7. (461a0e4)
SpotifyWebAPI::getReturnType()/SpotifyWebAPI::setReturnType()andRequest::getReturnType()/Request::setReturnType()are deprecated. Use the newreturn_assocoption instead. (2a3d5ee)Request::setCurlOptions()is deprecated. Use the newcurl_optionsoption instead. (1615d07)
- Added support for automatically retrying rate limited requests. (5fe8903)
- Updated CA bundle. (19df152)
- Remove unfinished code that accidentally snuck into
2.11.0. (eb3f51c)
- Added support for automatically refreshing access tokens. (5ec5fd4)
- Fixed an issue where
SpotifyWebAPI::deletePlaylistTracks()wouldn't return the snapshot ID when return type was set toSpotifyWebAPI::RETURN_ASSOC. (f9d580f) - Fixed an issue where
SpotifyWebAPI::reorderPlaylistTracks()wouldn't return the snapshot ID when return type was set toSpotifyWebAPI::RETURN_ASSOC. (89fe613)
- Added a
$optionsargument toSpotifyWebAPI::getAlbum(). (e92121f)
- The following deprecated methods will now emit a run time notice when used (fc1e535):
SpotifyWebAPI::addUserPlaylistTracks()SpotifyWebAPI::createUserPlaylist()SpotifyWebAPI::deleteUserPlaylistTracks()SpotifyWebAPI::followPlaylistForCurrentUser()SpotifyWebAPI::getUserPlaylist()SpotifyWebAPI::getUserPlaylistTracks()SpotifyWebAPI::reorderUserPlaylistTracks()SpotifyWebAPI::replaceUserPlaylistTracks()SpotifyWebAPI::unfollowPlaylistForCurrentUser()SpotifyWebAPI::updateUserPlaylist()SpotifyWebAPI::updateUserPlaylistImage()SpotifyWebAPI::usersFollowPlaylist
- When passing
$trackswithout atracksorpositionskey toSpotifyWebAPI::deletePlaylistTracksa run time notice will be emitted. (2f457bd)
- Added a
Request::setCurlOptions()method to make it possible to set custom cURL options. (5a8b1e5)
- Added a
SpotifyWebAPIException::getReason()method to retrieve the reason for a player error. (ce728e1) - Updated CA bundle. (4732256)
- Corrected the authorization URL (891cd0f)
- Added new methods for handling following of playlists, no longer requiring
$userId(6f1bb6b):SpotifyWebAPI::followPlaylistForCurrentUser()SpotifyWebAPI::unfollowPlaylistForCurrentUser()SpotifyWebAPI::usersFollowPlaylist
- Deprecated the following methods (6f1bb6b):
SpotifyWebAPI::followPlaylist()SpotifyWebAPI::unfollowPlaylist()SpotifyWebAPI::userFollowPlaylist
- Corrected the URI in
SpotifyWebAPI::createUserPlaylist(). (d8a59eb)
- Because of recent changes in the handling of playlist related calls, the following methods are deprecated (a05db96):
SpotifyWebAPI::addUserPlaylistTracks()SpotifyWebAPI::createUserPlaylist()SpotifyWebAPI::deleteUserPlaylistTracks()SpotifyWebAPI::getUserPlaylist()SpotifyWebAPI::getUserPlaylistTracks()SpotifyWebAPI::reorderUserPlaylistTracks()SpotifyWebAPI::replaceUserPlaylistTracks()SpotifyWebAPI::updateUserPlaylist()SpotifyWebAPI::updateUserPlaylistImage()
- The following methods should be used instead, accepting the same arguments except for
$userId(a05db96):SpotifyWebAPI::addPlaylistTracks()SpotifyWebAPI::createPlaylist()SpotifyWebAPI::deletePlaylistTracks()SpotifyWebAPI::getPlaylist()SpotifyWebAPI::getPlaylistTracks()SpotifyWebAPI::reorderPlaylistTracks()SpotifyWebAPI::replacePlaylistTracks()SpotifyWebAPI::updatePlaylist()SpotifyWebAPI::updatePlaylistImage()
- Authentication errors will now throw an
SpotifyWebAPIAuthExceptioninstead of the regularSpotifyWebAPIException. (4b068d0)
- Restored support for PHP 5.6. It's used by too many at this point and nothing PHP 7 specific is really used. (ff3de71)
- Added a
Session::setRefreshToken()method (c30ebfe)
- When running behind a proxy, the first set of proxy response headers are now stripped. (a9dfa55)
- Added
positionssupport toSpotifyWebAPI::deleteUserPlaylistTracks(). (4dfa494) - Updated CA bundle. (cd63d1a)
- Fixed an issue where a new refresh token wouldn't be properly updated in the
Sessionclass when a new one was returned from Spotify. (2bf18e0)
- Added the
Session::getScope()method to check which scopes that are granted by the current user. (f741511) - CI tests are now run on PHP
7.2. (3649e78) - Improved authorization docs. (14bb6e6)
- Updated CA bundle. (d846e8c)
- Breaking The following, deprecated, methods have been removed (fdaa1bd):
Request::getReturnAssoc()(useRequest::getReturnType()instead)Request::setReturnAssoc()(useRequest::setReturnType(Request::RETURN_ASSOC)instead)SpotifyWebAPI::getReturnAssoc()(useSpotifyWebAPI::getReturnType()instead)SpotifyWebAPI::setReturnAssoc()(useSpotifyWebAPI::setReturnType(SpotifyWebAPI::RETURN_ASSOC)instead)
- Breaking The
$typeparameter inSpotifyWebAPI::idToUri()andSpotifyWebAPI::uriToId()no longer has a default value. (fdcba71) - Breaking Dropped support for PHP versions less than 7. (71de436)
- Breaking Tests are no longer run on HHVM, support for it was never documented anyway. (7b9ff5d)
- Removed unused
$scopeparameter inSession::requestCredentialsToken(). (582f983) - Updated PHPUnit to
6.x. (49829ac) - Updated CA bundle. (ac09f96)
- Added the
SpotifyWebAPI::updateUserPlaylistImage()method. (14a9631)
- Fixed an issue where some URI IDs wouldn't be properly cast to an array. (713e8e7)
- All methods accepting Album, Artist, Playlist, Track, or User IDs can now also accept Spotify URIs. (1a47fa1, e71daeb, 63dde40, 4bf29b1)
- Corrected
SpotifyWebAPI::getMySavedTracksexample. (0eedf1c) - Updated
PHP_CodeSnifferto3.x. (60adb2c) - Travis builds now uses Trusty as the distribution. (011524b)
- Updated CA bundle. (ff8d87e)
- Corrected the name of some Markdown example files. (d6425f6)
- Corrected
SpotifyWebAPI::play()example. (ce2c08c) - Corrected inline method docs. (d725d16)
- Removed stray
SpotifyWebApiobject in examples. (7ef922b)
- Added Spotify Connect endpoints:
SpotifyWebAPI::changeMyDevice()(21dd887)SpotifyWebAPI::changeVolume()(e9cdd79)SpotifyWebAPI::getMyCurrentPlaybackInfo()(61f4cbd)SpotifyWebAPI::getMyCurrentTrack()(0f30a6b)SpotifyWebAPI::getMyDevices()(8b33f9d)SpotifyWebAPI::next()(9950c51)SpotifyWebAPI::pause()(b724c4a)SpotifyWebAPI::play()(825a632)SpotifyWebAPI::previous()(90a97e1)SpotifyWebAPI::repeat()(1feebfe)SpotifyWebAPI::seek()(0641a07)SpotifyWebAPI::shuffle()(d43268c)
- Complete documentation revamp. (82d9fab)
- Made sure empty objects are correctly serialized to JSON objects instead of JSON arrays. (b17682e)
- Added the
SpotifyWebAPI::getMyRecentTracks()method. (4df889f)
- Added the
SpotifyWebAPI::getMyRecentTracks()method. (fd8ea0d)
- The following methods can now also accept Spotify URIs:
- PHPUnit 5 is now used whenever possible. (9892fe4)
- Bump for bad
1.6.0.
- Deprecated the following methods and replaced them with (6aac5c6):
Request::getReturnAssoc()->Request::getReturnType()Request::setReturnAssoc()->Request::setReturnType(Request::RETURN_ASSOC)SpotifyWebAPI::getReturnAssoc()->SpotifyWebAPI::getReturnType()SpotifyWebAPI::setReturnAssoc()->SpotifyWebAPI::setReturnType(SpotifyWebAPI::RETURN_ASSOC)
- Added the following constants for use with
setReturnType()(6aac5c6):Request::RETURN_ASSOCRequest::RETURN_OBJECTSpotifyWebAPI::RETURN_ASSOCSpotifyWebAPI::RETURN_OBJECT
- Added docs on how to change the return type. (10b47b5)
- Added a
Request::getLastResponse()method. (21b72b0) - Added a
SpotifyWebAPI::getRequestmethod. (bab8924) - The
$tracksoption forSpotifyWebAPI::deleteUserPlaylistTracks()now also supports objects. (ce230e7) - Response compression will now be automatically negotiated by the client and server. (3f4a643)
- Made sure
SpotifyWebAPI::getAlbums()can handle objects for the$optionsargument properly. (42cf5d0) - Replaced
for-loops witharray_map(). (cfc32b7) - CI tests are run on PHP 7.1. (74cb084)
- Added documentation on error handling. (57ba164)
- Fixed a typo in the
SpotifyWebAPI::reorderUserPlaylistTracks()docs. (b25dec4) - Fixed a typo in the
SpotifyWebAPI::getLastResponse()docs. (bdd3ecc)
- Array indexes in
SpotifyWebAPI::idToUri()are now always reset to prevent undefined offset errors. (ae8bd96)
- All requests will now be compressed using gzip. (5eeabde)
- Marked
SpotifyWebAPIclass properties asprotectedinstead ofprivateto allow extending. (f52468a) - Marked
Sessionclass properties asprotectedinstead ofprivateto allow extending. (13e6d53) - Marked
Requestclass properties asprotectedinstead ofprivateto allow extending. (be2b3f6) - Moved docs from the
gh-pagesbranch intomaster. (7f638a1)
- Fixed a typo in the
Request::parseBody()method added in1.3.3. (13d3b94)
- Moved the
Requestbody parsing to its own method. (ef60829) - All arrays are now using the short array syntax. (Full diff)
- Travis tests are now running on PHP nightlies as well. (0cb8420)
- Updated the inline
Requestdocs for consistency. (cf09e09)
- Improved the handling of
seed_*parameters inSpotifyWebAPI::getRecommendations(). (e6603dc) - Specified better Composer PHP version ranges so we don't break when a new major PHP versions is released. (8dd7749)
- Fixed some minor code style issues in the tests. (de5f7a8)
- Fixed an issue where empty error responses weren't correctly handled. (5f87cc5)
- Fixed an issue where auth call exceptions would sometimes use the wrong message value. (1b7951c)
- The following methods have been added:
SpotifyWebAPI::getMyPlaylists()(ea8f0a2)
- Updated CA bundle. (e6161fd)
- The following methods have been added:
- This release contains breaking changes, read through this list before updating.
- The following, deprecated, methods have been removed:
- Added docs for the
marketparameter to the following methods: Session::setRefreshToken()has been removed, a refresh token is now passed directly toSession::refreshAccessToken()instead. (62e7383)Session::getExpires()has been removed andSession::getTokenExpiration()has been added instead, returning the exact token expiration time. (62e7383)- The minimum required PHP version has been increased to 5.5 and support for PHP 7 has been added. (b68ae3b, 6a8ac8d)
- HTTP response headers returned by
Request::send()andSpotifyWebAPI::getLastResponse()are now parsed to an array. (9075bd3) - In
SpotifyWebAPI::deleteUserPlaylistTracks(),positionhas been renamed topositions(note the extra "s"). This change was made to better align with the official Spotify docs. (09f2636) - The
positionsargument toSpotifyWebAPI::deleteUserPlaylistTracks()now also acceptints. (09f2636) SpotifyWebAPI::getArtistTopTracks()now accepts an array of options. (79543ac)Session::getAuthorizeUrl()no longer sends empty query strings. (c3e83e8)- Stopped
SpotifyWebAPI::deleteUserPlaylistTracks()from sending internal, leftover data. (09f2636) - Clarified docs for
SpotifyWebAPI::followPlaylist()andSpotifyWebAPI::reorderUserPlaylistTracks(). (09f2636) - Fixed an issue where
SpotifyWebAPI::reorderUserPlaylistTracks()couldn't reorder the first track. (748592e) - Better tests and coverage. (09f2636)
- The following methods have been added:
SpotifyWebAPI::getUserFollowedArtists()(b7142fa)
- This release contains breaking changes, read through this list before updating.
- As we're moving closer to 1.0 the work to make the API more consistent and stable is continuing. This time with an effort to make method names and signatures more consistent.
- Thus, the following methods have been renamed and the old names are deprecated:
- The following method arguments now also accepts strings:
- A new method,
SpotifyWebAPI::getLastResponse()has been introduced which allows for retrieval of the latest full response from the Spotify API. (9b54074) - Lots of internal changes to increase code consistency and ensure full PSR-2 compatibility. (2b8fda3)
- Better handling of errors from cURL. (c7b5529)
- CA Root Certificates are now included with the library, allowing cURL to always find it. (4ebee9b)
- Fixed an issue where
SpotifyWebAPI::updateUserPlaylist()would fail withoutnameset. (39232f5)
- This release contains breaking changes, read through this list before updating.
- The following methods have been renamed:
- The following methods have been added:
SpotifyWebAPI::currentUserFollows()(6dbab19)SpotifyWebAPI::followArtistsOrUsers()(6dbab19)SpotifyWebAPI::followPlaylist()(12ff351)SpotifyWebAPI::getCategoriesList()(f09b4b8)SpotifyWebAPI::getCategory()(f09b4b8)SpotifyWebAPI::getCategoryPlaylists()(f09b4b8)SpotifyWebAPI::reorderPlaylistTracks()(0744904)SpotifyWebAPI::unfollowArtistsOrUsers()(6dbab19)SpotifyWebAPI::unfollowPlaylist()(12ff351)SpotifyWebAPI::userFollowsPlaylist()(4293919)
- The
$redirectUriargument inSession::__construct()is now optional. (8591ea8)
- The following methods to control the return type of all API methods were added:
- Added
fieldsoption toSpotifyWebAPI::getUserPlaylist(). (c35e44d) - All methods now automatically send authorization headers (if a access token is supplied), increasing rate limits. (a5e95a9)
- Lots of inline documentation improvements.
- This release contains breaking changes, read through this list before updating.
- All static methods on
Requesthave been removed.Requestnow needs to be instantiated before using. (59207ac) - All methods that accepted the
limitoption now uses the correct Spotify default value if nothing has been specified. (a291018) - It's now possible to specify your own
Requestobject inSpotifyWebAPIandSessionconstructors. (59207ac) SpotifyWebAPI::getArtistAlbums()now supports thealbum_typeoption. (1bd7014)Request::send()will only modify URLs when needed. (0241f3b)
- The following methods have been added:
- The following options has been added:
- Better handling of HTTP response codes in
Request::send(). (351be62) - Fixed a bug where
SpotifyWebAPIExceptionmessages weren't correctly set. (c764894) - Fixed various issues related to user playlists. (9929d45)
- This release contains lots of breaking changes, read through this list before updating.
- All methods which previously required a Spotify URI now just needs an ID. (f1f14bd)
deletePlaylistTrack()has been renamed todeletePlaylistTracks(). (e54d703)- When something goes wrong, a
SpotifyWebAPIExceptionis thrown. (d98bb8a) - The
SpotifyWebAPImethods are no longer static, you'll need to instantiate the class now. (67c4e8b)
- The following methods have been added:
SpotifyWebAPI::getMySavedTracks()(30c865d)SpotifyWebAPI::myTracksContains()(3f99367)SpotifyWebAPI::addMyTracks()(20d80ef)SpotifyWebAPI::deleteMyTracks()(ee17c69)SpotifyWebAPI::updateUserPlaylist()(5d5874d)SpotifyWebAPI::deletePlaylistTrack()(3b17104)SpotifyWebAPI::deletePlaylistTrack()(3b5e23a)
- Added support for the Client Credentials Authorization Flow. (0892e59)
- Added support for more HTTP methods in
Request::send(). (d4df8c1)
- The following methods have been added:
SpotifyWebAPI::getArtistRelatedArtists()(5a3ea0e)
- Added
offsetandlimitoptions forSpotifyWebAPI::getAlbumTracks()andSpotifyWebAPI::getArtistAlbums(). (21c98ec, 8b0c417) - Replaced PSR-0 autoloading with PSR-4 autoloading. (40878a9)
- Changed method signature of
Session::getAuthorizeUrl()and addedshow_dialogoption. (8fe7a6e, 57c36af) - Added missing returns for
SpotifyWebAPI::getUserPlaylist()andSpotifyWebAPI::getUserPlaylistTracks(). (b8c87d7) - Fixed a bug where search terms were double encoded. (9f1eec6)
- Initial release