Releases: JohnnyCrazy/SpotifyAPI-NET
SpotifyAPI Web 6.0.0
🎉 The initial, stable release of SpotifyAPI.Web and SpotifyAPI.Web.Auth Version 6! 🎉
Thank you for all reports in the beta phase 😊. The last beta release was about 3 months ago and it's time to hit stable!
Overall Features of V6
- ✅ Typed responses and requests to over 74 endpoints. Complete and always up to date.
- ✅ Supports
.NET 5.0
and.NET Standard 2.X
, which includes all major platforms, including mobile:.NET Framework
UWP
.NET Core
Xamarin.Forms
- ✅ Included
HTTPClient
, but feel free to bring your own! - ✅ Logging supported
- ✅ Retry Handlers supported
- ✅ Proxy support
- ✅ Pagination support
- ✅ All OAuth2 Authentications supported for use in
ASP .NET
andCLI
apps - ✅ Modular structure, for easy unit testing
Migration Guide
There is a migration guide from 5.x to 6.x here
If there are open questions regarding migration path, feel free to open an issue!
License
New Code base - New License. The project is now licensed under the MIT
instead of the GPL V2
. More freedom for your projects!
Documentation
The documentation site has been built from the ground up. While there is no online method documentation like before (refer to inline XML docs), there are now extensive guides and example infos available.
https://johnnycrazy.github.io/SpotifyAPI-NET/
Examples
Examples were a problem in the past. From now, v6 offers examples for every major .NET framework and application type (web, desktop, cli app) located in the SpotifyAPI.Web.Examples
directory. There is still some documentation and linking (between documentation and github) to be done. Also, it's on the roadmap to create more advanced examples.
Feedback
Please provide any feedback, problems and ideas in #451 - Thank you!
Additional Changelog since beta.12
- Bumped dependencies
- Added more showcases to the docs
- UWP Example fixed
- Update to .NET 5
SpotifyAPI Web API 6.0.0-beta.12
🏗 Fixes:
- Fixed
SaveTracks/SaveShows/SaveAlbums
endpoint always returning false ( part of #496 )
➕ Additions
Playlists.RemoveItems
now also accepts a list of positions. This allows to delete local files in playlists. A snapshotID MUST be provided.
var playlist = await spotify.Playlists.Get("YourPlaylistID");
var test = await spotify.Playlists.RemoveItems("YourPlaylistID", new PlaylistRemoveItemsRequest
{
Positions = new List<int> { 0 },
SnapshotId = playlist.SnapshotId
});
SpotifyAPI Web API 6.0.0-beta.11
🏗 Fixes:
- Fixed
Follow
endpoint always returning false ( part of #496 )
SpotifyAPI Web API 6.0.0-beta.10
➕ Additions
🏗 Fixes:
- Fixed
GetRecommendationGenres
( #487 )
If nothing goes wrong for the next days, the next release will be 6.0.0 🎉
SpotifyAPI Web API 6.0.0-beta.9
SpotifyAPI Web API 6.0.0-beta.8
🏗 Fixes:
- Fixed
SimpleRetryHandler
by ignoring the case of the header key. #475 - When specifying enums in requests, there was a bug where wrong values have been used. #478
- Some API calls allow a request parameter called
fields
to specify which fields of the JSON should be returned. To reflect this subset of fields in the models, the properties of such API calls have been made nullable. #477
SpotifyAPI Web API 6.0.0-beta.7
🏗 Fixes:
- When a query parameter list was empty, it was still serialized into the query, resulting in a query similar to
items=System.Collections.List<string>
. This has been fixed, empty query parameter lists are skipped. #471 - When requesting subfields using the
Fields
parameter, a missingtype
parameter can lead to an exception since the response model type can't be deducted. The exception was made clearer #472 PlaylistGetRequest
was missing some fields,Market
andFields
. They've been added! #470
Thanks to @palenshus for reporting the above bugs!
SpotifyAPI Web API 6.0.0-beta.6
🏗 Fixes:
- With
IPlayableItem
a custom JSON Converter is used to convert betweenFullTrack
orFullEpisode
. This custom JSON Converter was not able to serialize, thus received models (LikeCurrentlyPlayingContext
etc.) could not be serialized back to JSON. This has been fixed!
SpotifyAPI Web API 6.0.0-beta.5
➕ Additions
- (🛑 Breaking Change)
spotify.Paginate
andspotify.PaginateAll
now supportCursorPaging<T>
objects. Due to C#'s type system, the first parameter toPaginate
andPaginataAll
must be of typePaging<T>
orCursorPaging<T>
, theTask<...>
andFunc<Task<...>>
overloads have been removed.
SpotifyAPI Web API 6.0.0-beta.4
🏗 Fixes:
-
On specific .NET versions, including .NET Framework v4.X and v5.X, query parameters were not correctly added to the URI. They included a double question mark instead of a single one at the start of the query. This has been fixed with the help of @calledude and @YettySpaghetty , thank you! #462 #461
-
Follow.OfCurrentUser(request)
is now correctly using the parameter request model. Before, it was ignored and no query paramters were sent, resulting in an error. #461
As always, please open an issue if you run into any problems, thanks! 🙏 🍻