fix(spotify)!: adapt wrapper to Spotify API breaking changes (2026-02-11)#446
Closed
fix(spotify)!: adapt wrapper to Spotify API breaking changes (2026-02-11)#446
Conversation
Co-authored-by: dargmuesli <[email protected]>
…moveFromLibrary, update createPlaylist signature Co-authored-by: dargmuesli <[email protected]>
…lbum.java Co-authored-by: dargmuesli <[email protected]>
Co-authored-by: dargmuesli <[email protected]>
Co-authored-by: dargmuesli <[email protected]>
…rom Track.java Co-authored-by: dargmuesli <[email protected]>
Co-authored-by: dargmuesli <[email protected]>
…fied Co-authored-by: dargmuesli <[email protected]>
Remove field declarations, constructor parameters, getters, builder setters, builder fields, JSON deserialization code, and unused imports (CountryCode, ProductType). Update toString() accordingly. Update GetCurrentUsersProfileRequestTest to remove assertions on removed fields. Co-authored-by: dargmuesli <[email protected]>
- Update createPlaylist() calls to match new single-param signature - Update expected URL to /v1/me/playlists - Rename getTracks() to getItems() on Playlist - Rename getTrack() to getItem() on PlaylistTrack - Update JSON fixtures: "tracks" -> "items", "track" -> "item" Co-authored-by: dargmuesli <[email protected]>
Copilot
AI
changed the title
[WIP] Fix outdated Spotify API wrapper for upcoming changes
fix(spotify)!: adapt wrapper to Spotify API breaking changes (2026-02-11)
Feb 11, 2026
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spotify is removing/replacing several Web API endpoints and response fields starting 2026-02-11. This updates the Java wrapper to match the new API surface.
Removed endpoints
GET /albums,/artists,/tracks,/episodes,/showsGET /browse/categories,/browse/categories/{id},/browse/new-releasesGET /artists/{id}/top-tracksGET /users/{id},GET /users/{id}/playlistsPUT|DELETE /me/{albums,tracks,episodes,shows}— replaced by unified endpointsNew unified library endpoints
PUT /me/library—SaveToLibraryRequestaccepts Spotify URIsDELETE /me/library—RemoveFromLibraryRequestaccepts Spotify URIsUpdated endpoints
CreatePlaylistRequest:POST /users/{user_id}/playlists→POST /me/playlistsModel field removals
AlbumavailableMarkets,externalIds,label,popularityAlbumSimplifiedalbumGroup,availableMarketsArtistfollowers,popularityTrackavailableMarkets,externalIds,linkedFrom,popularityTrackSimplifiedavailableMarkets,linkedFromShow/ShowSimplifiedavailableMarkets,publisherUsercountry,email,followers,productPlaylist field renames
Per Spotify's schema change, playlist item fields are renamed across
Playlist,PlaylistSimplified, andPlaylistTrack:Playlist.getTracks()→getItems()PlaylistSimplified.getTracks()→getItems()PlaylistTrack.getTrack()→getItem()JSON keys updated accordingly (
"tracks"→"items","track"→"item").This is a major breaking change for consumers. Method removals, signature changes, and field renames will require callers to update their code.
Original prompt
This section details on the original issue you should resolve
<issue_title>fix(spotify)!: major changes to the api starting 2026-02-11</issue_title>
<issue_description>## 📌 Important: Spotify Developer Platform Changes (Not Controlled by This Project)
Spotify has announced upcoming changes to Spotify for Developers that will affect Development Mode applications and Web API access.
This project is a community-maintained Java API wrapper, developed by voluntary contributors and not affiliated with Spotify in any way.
The rules described below are Spotify’s decisions, not policies set or endorsed by this repository or its maintainers.
🔗 Spotify announcement: Update on Developer Access and Platform Security (Posted Feb 6, 2026)
Please keep in mind: if something breaks due to these changes, it is not something maintainers can “fix” on Spotify’s behalf.
🔄 Summary of what Spotify is changing
Spotify is tightening access to its developer platform, particularly for Development Mode apps.
Starting February 11, 2026 (new apps)
All newly created Development Mode Client IDs will have these restrictions:
Starting March 9, 2026 (existing apps)
The same rules will be applied retroactively to all existing Development Mode integrations.
🧪 What this means for users of this wrapper
If your app stops working around these dates, the cause is almost certainly Spotify platform enforcement, not a regression in this repository.
💬 Where to discuss these changes (please read)
Questions, complaints, or feedback about Spotify’s policy changes should not be opened as issues in this repository.
The maintainers cannot resolve platform-level decisions and do not have a direct channel to Spotify.
👉 Please direct discussion to Spotify’s official community thread instead:
https://community.spotify.com/t5/Community-Prep/February-2026-Spotify-for-Developers-update-thread/m-p/7330564
Issues opened here should be limited to:
Thank you for understanding the limits of what a community-maintained project can realistically support under externally imposed platform changes.
</issue_description>
Comments on the Issue (you are @copilot in this section)
@dargmuesli # Technical details🔄 Endpoint Changes
❌ Removed Endpoints
Create Playlist for User
POST /users/{user_id}/playlistsCreate a playlist for a Spotify user.
➡️ Use
POST /me/playlistsinsteadGet Artist's Top Tracks
GET /artists/{id}/top-tracksGet Spotify catalog information about an artist's top tracks by country.
Get Available Markets
GET /marketsGet the list of markets where Spotify is available.
Get New Releases
GET /browse/new-releasesGet a list of new album releases featured in Spotify.
Get Several Albums
GET /albumsGet Several Artists
GET /artistsGet Several Audiobooks
GET /audiobooksGet Several Browse Categories
GET /browse/categoriesGet Several Chapters
GET /chaptersGet Several Episodes
GET /episodesGet Several Shows
GET /showsGet Several Tracks
GET /tracksGet Single Browse Category
GET /browse/categories/{id}Get User's Playlists
GET /users/{id}/playlistsGet User's Profile
GET /users/{id}➕ Added Endpoints
Save to Library
PUT /me/librarySave a list of Spotify URIs to the user's library.
**Remove...
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.