Changes for version 1.000 - 2026-09-05
- BREAKING CHANGES
- Remove the 30 methods whose Spotify endpoints were deleted in the November 2024 and February 2026 API changes, along with the once-per-process deprecation warning. Replacements: albums, artists, tracks, get_several_shows, get_several_audiobooks, get_several_chapters -> call album/artist/track/get_show/ get_audiobook/get_chapter per id remove_user_saved_tracks, save_shows_for_current_user, save_audiobooks_for_current_user, remove_users_saved_audiobooks, follow_artists_or_users, unfollow_artists_or_users -> save_library_items / remove_library_items check_users_saved_tracks, check_users_saved_shows, check_users_saved_audiobooks, check_if_user_follows_artists_or_users, check_if_user_follows_playlist -> check_library_items get_track_audio_features, get_several_tracks_audio_features, get_track_audio_analysis, get_recommendations, get_available_genre_seeds, browse_featured_playlists, browse_new_releases, get_categories, get_category, artist_top_tracks, artist_related_artists, user, user_playlist -> no replacement (use get_current_user_playlists for the authorized user)
- Drop WWW::Mechanize: the ua attribute is now a plain LWP::UserAgent (a WWW::Mechanize object still works). The custom_request_handler callback now receives the HTTP::Response instead of the Mechanize object
- Every request now sends the bearer token. force_client_auth and the second (client_auth_required) argument to query_full_url are gone
- Removed result_format, grab_response_header's IO::CaptureOutput capture (response_headers is now the plain header string), get_oauth_authorize, current_oath_code, build_url_base, call_type, uri_domain_path, problem and join_ids
- POST/PUT/DELETE set last_error on any non-2xx status (POST previously flagged a successful 201 Created as an error)
- OTHER
- Data::Dumper and IO::CaptureOutput are no longer dependencies
- Remove the dead Travis CI config and the duplicate ci.yml workflow; test.yml no longer runs the Windows matrix or the (never uploading) coverage job, and tests one Perl on macOS
- Test mocks live in t/lib/MockUA.pm instead of being copied per file
Documentation
Modules
Spotify Web API Wrapper