Skip to content

Latest commit

 

History

History
213 lines (127 loc) · 14.5 KB

CHANGELOG.md

File metadata and controls

213 lines (127 loc) · 14.5 KB

Change log

5.0.2 (Jan 2021)

  • Fix: Make transferMyPlayback not require the options object, since it should be optional. Thanks for the heads-up @Simber1!

5.0.1 (Jan 2021)

  • Fix error handling in the HTTP client. Thanks @yamadapc!
  • This package can currently not be built on Node 15 on Linux, due to a dependency not being available yet. Issue can be followed on the node-canvas issue tracker. In the mean time, Travis CI will run on earlier versions of Node.

5.0.0 (Oct 2020)

  • BREAKING CHANGES.
    • Arguments for some API methods have changed, causing incorrect behaviour using argument order from version 4.x. See the README.md for examples of how the methods can be used.

      • Create Playlist (createPlaylist) method no longer accepts a userId string as its first argument.
      • Transfer A User's Playback (transferMyPlayback) method takes a deviceIds array as its first argument.
      • Skip to Previous (skipToPrevious) method takes an options object as its first argument.
      • Skip to Next (skipToNext) method takes an options object as its first argument.
      • Set Repeat Mode on the Current User's Playback (setRepeat) method takes a state string as its first argument.
      • Set Shuffle Mode on the Current User's Playback (setShuffle) method takes a state string as its first argument.

      Cheers @marinacrachi for the createPlaylist update.

    • Removed legacy support for not passing an options object while providing a callback method. This was only supported on a few of the older endpoints, and could lead to tricky bugs. The affected endpoints are getTrack, getTracks, getAlbum, getAlbums, and createPlaylist. Again, check the README.md for examples on how these methods can be used if needed.

    • Removed options argument for retrieving an access token using the Client Credentials flow, clientCredentialsGrant.

    • API errors come in five different flavours.

      • WebapiRegularError - For errors returned by most API endpoints.
      • WebapiPlayerError - For errors returned by the Player API. These contain a bit more information.
      • WebapiAuthenticationError - For errors related to authentication.
      • WebapiError - For errors that come from the Web API that didn't fit into one of the above.
      • TimeoutError - For network timeout errors.

      More importantly, errors now contain the response body, headers, and status code. One side-effect of this is that rate limited requests can be handled by checking the Retry-After header. Thanks for the PRs @kauffecup, @lantelyes, @dkliemsch, and @erezny.

      Much appreciated @konstantinjdobler for updates to the Player API errors.

  • Added support for Implicit Grant flow - Thanks @gaganza, @reblws and @noahp78!
  • Starts or Resumes the Current User's Playback (play) method now supports the position_ms option. Thanks @alqubo, @koflin, @DoctorFishy. Thanks @carmilso for general improvements to the Player API methods.
  • Binding for Add an Item to the User's Playback Queue endpoint added. Thanks @thattomperson and @AriciducaZagaria!
  • Binding for all Shows and Episodes endpoints. Thanks a lot @andyruwruw!
  • Documentation updates to keep up to date with ES6, thanks @dandv! Other documentation improvements by @terensu-desu, and examples by @dersimn. Thanks!
  • Bumped dependencies to resolve critical security issues.
  • Finally, hat off to @dersimn. Thanks for collecting all of the lingering PRs and merging them into a working and up-to-date fork. You really stepped up.

Likely more changes coming before release to npm, which will happen shortly.

4.0.0 (14 Sep 2018)

  • Modified functions that operate on playlists to drop the user id parameter. This is a breaking change. PR
  • Updated superagent to fix a security warning PR
  • Fixed a bug by which an empty user was not handled properly in getUserPlaylists(). PR

3.1.1 (29 Apr 2018)

  • Modernized stack for a better developer experience. Integrated prettier and jest. This simplifies the amount of dev dependencies.
  • Improved calls to save and remove saved tracks by adding a key as specified in the Spotify docs (See PR). Thanks to @yanniz0r and @adcar for bringing it up.

3.1.0 (26 Apr 2018)

3.0.0 (8 Mar 2018)

  • @DalerAsrorov added support for uploading a custom image to a playlist in this PR.
  • You can now pass a device_id when playing and pausing playback. @pfftdammitchris started a PR to add device_id to the play() method. The changes served to another PR where we included the functionality. Thanks!
  • Added documentation in the README for getMyCurrentPlaybackState(). Thanks @PanMan for your PR!
  • @brodin realized we there was a lot of duplicated code and refactored it in a great PR.

2.5.0 (4 Sep 2017)

  • Change README to reflect new authorization. Thanks @arirawr for the PR.
  • Add support for 'show_dialog' parameter when creating authorization url. Thanks @ajhaupt7 for the PR.
  • Add support for playback control (play, pause, prev, next), shuffle and repeat. Thanks @JoseMCO for the PR.
  • Add support for currently playing. Thanks @dustinblackman for the PR.
  • Fix to remove unnecessary deviceIds parameter from request to transfer playback. Thanks @philnash for the PR.

2.4.0 (2 May 2017)

2.3.6 (15 October 2016)

2.3.5 (20 July 2016)

  • Use encodeURIComponent instead of encodeURI to encode the user's id. 'encodeURI' wasn't encoding characters like / or # that were generating an invalid endpoint url. Thanks @jgranstrom for the PR.

2.3.4 (18 July 2016)

  • Fixed a bug in clientCredentialsGrant().

2.3.3 (18 July 2016)

  • Migrated to the superagent request library to support Node.JS and browsers. Thanks @SomeoneWeird for the PR to add it, and @erezny for reporting bugs.

2.3.2 (10 July 2016)

2.3.1 (3 July 2016)

  • Fix for getRecomendations method causing client error response from the API when making the request. Thanks @kyv for reporting, and @Boberober and @JMPerez for providing fixes.

2.3.0 (2 April 2016)

2.2.0 (23 November 2015)

2.1.1 (23 November 2015)

  • Username encoding bugfix.

2.1.0 (16 July 2015)

2.0.2 (11 May 2015)

  • Bugfix for retrieving an access token through the Client Credentials flow. (Thanks Nate Wilkins!)
  • Add test coverage and Travis CI.

2.0.1 (2 Mar 2015)

  • Return WebApiError objects if error occurs during authentication.

2.0.0 (27 Feb 2015)

  • Breaking change: Response object changed. Add headers and status code to all responses to enable users to implement caching.

1.3.13 (26 Feb 2015)

1.3.12 (22 Feb 2015)

1.3.11

1.3.10

  • Add market parameter to endpoints supporting Track Relinking.
  • Improve SEO by adding keywords to the package.json file. ;-)

1.3.8

1.3.7

1.3.5

  • Add missing options parameter in createPlaylist (issue #19). Thanks for raising this allinallin.

1.3.4

1.3.3

1.3.2

  • Add ability to use callback methods instead of promise.

1.2.2

  • Bugfix. api.addTracksToPlaylist tracks parameter can be a string or an array. Thanks ofagbemi!

1.2.1

1.1.0

1.0.2

1.0.1

  • Allow options to be set when retrieving a user's playlists. Thanks EaterOfCode.

1.0.0

0.0.11

0.0.10

0.0.9