🚀 Complete Rewrite — Fresh Start for Last.fm
This version represents a complete architectural rewrite with modern Symfony patterns. v2.0.0 is essentially a new bundle built for the Last.fm API.
Added
- API Key Authentication for all Last.fm operations
- API Secret Support for authenticated operations (used with Session Key for scrobbling and user operations)
- Session Key Support for authenticated user operations (scrobbling, now playing, user-specific data)
- All Last.fm API Methods with consistent naming and modern parameter style
- Complete API Coverage – Album, Artist, Auth, Chart, Geo, Library, Tag, Track, User methods
- Named Parameter Support – Methods accept individual parameters in camelCase instead of arrays
- Symfony Rate Limiter Integration – Optional advanced rate limiting with configurable policies
- Symfony 6.4 | 7.x | 8.x Support with future compatibility
- Modern PHP 8.1+ Architecture with full type safety and modern features
- Comprehensive Test Suite with unit and integration tests
- Professional Documentation with clear examples and setup guides
- Modern Bundle Structure following all Symfony best practices
- Robust Configuration Validation with meaningful error messages and setup instructions
- Music Scrobbling Support throughout documentation and examples
Changed
- Method Parameter Style – All methods now accept individual parameters (e.g.,
getArtistInfo(artist: 'name')) instead of arrays
- Method Names adapted for Last.fm API patterns (e.g.,
getArtistTopTracks(), scrobbleTrack())
- Parameter Naming – All parameters use camelCase convention (e.g.,
artist instead of artistId)
- Rate Limiting – Configured for Last.fm's 5 requests per second limit
- Service Naming follows modern Symfony conventions with proper aliases
- Error Handling improved with better exceptions and validation
- Performance optimized for modern PHP versions
- Complete API Integration now based on
calliostro/lastfm-client
- Code Standards fully compliant with @Symfony and @Symfony:risky rules
Removed
- Legacy Configuration – Replaced with modern Last.fm specific options
- Array Parameter Style – Methods no longer accept parameter arrays
- Legacy Dependencies – Clean implementation based on modern Last.fm client
- Backward Compatibility – This is a fresh start adapted for Last.fm API