- 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