All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Add-PlaylistItemnow correctly handles URI format (no longer requiresspotify:track:prefix)Add-PlaylistItemPositionparameter now works correctly with batch operationsGet-RecentlyPlayedTracksnow includescontextfield in response
- Episode support in
Get-RecentlyPlayedTracks - Batching support in
Add-PlaylistItemfor adding more than 100 items
- PKCE (Proof Key for Code Exchange) support for OAuth authentication
- GitHub Actions CI/CD pipeline with multi-platform testing (Windows, macOS, Linux)
- PSScriptAnalyzer linting in CI
- Pester unit tests for core functionality
- Integration tests (credential-gated)
- Replaced AppVeyor CI with GitHub Actions
- Improved OAuth security with PKCE code verifier/challenge
- Module import validation in CI pipeline
Set-ShufflePlaybackboolean parameter handling (string conversion)- Emoji handling in playlist names and descriptions
- Library backup/restore functionality
- Playlist image backup and restore
- UTF-8 encoding for library backup files
- Arguments for
Get-RecentlyPlayedTracks(limit, before, after parameters) Test-UserSavedTrackcmdlet (renamed from internal function)
- Default redirect URL changed from
localhostto127.0.0.1(Spotify requirement)
Get-ArtistAlbumsparameter handlingSet-PlaylistItemsnow correctly handles >100 tracks (uses proper PUT semantics)
- OAuth Authorization Code Flow with automatic token refresh
- HTTP listener for OAuth callback (no manual code entry)
- Support for multiple Spotify applications via
-ApplicationNameparameter - Cross-platform support (Windows, macOS, Linux)
- Made
UserNameparameter optional with sensible defaults - Improved
Initialize-SpotifyApplicationresult handling
- Initial public release to PowerShell Gallery
- Core Spotify API endpoints for albums, artists, playlists, tracks, and playback
- Credential management and storage
- Search functionality
- User profile operations