144 lines
2.7 KiB
Markdown
144 lines
2.7 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the hardened Spooty branch are documented here.
|
|
|
|
This project follows a practical chronological changelog rather than autogenerated dependency noise.
|
|
|
|
---
|
|
|
|
# Unreleased
|
|
|
|
## Added
|
|
|
|
### Spotify OAuth Integration
|
|
|
|
- Added Spotify OAuth login flow
|
|
- Added `/api/spotify/login`
|
|
- Added `/api/spotify/callback`
|
|
- Added `/api/spotify/status`
|
|
- Added persistent Spotify user access token storage
|
|
- Added authenticated Spotify playlist retrieval
|
|
- Added OAuth frontend bootstrap flow
|
|
|
|
### Large Playlist Support
|
|
|
|
- Fixed Spotify playlist truncation at 100 tracks
|
|
- Added full Spotify pagination support
|
|
- Verified support for playlists exceeding 300 tracks
|
|
- Improved playlist queue handling stability
|
|
|
|
### Queue Hardening
|
|
|
|
- Added configurable YouTube search pacing
|
|
- Added configurable YouTube download pacing
|
|
- Added sequential search queue behavior
|
|
- Reduced aggressive request bursts toward YouTube
|
|
- Improved queue logging visibility
|
|
|
|
### Security
|
|
|
|
- Added token-based frontend access mode
|
|
- Added external secret handling recommendations
|
|
- Added isolated Spotify credential storage
|
|
- Improved Docker credential handling documentation
|
|
|
|
### Frontend
|
|
|
|
- Added Spotify login integration
|
|
- Added auth token bootstrap from URL
|
|
- Improved playlist rendering behavior
|
|
- Improved large playlist progress tracking
|
|
|
|
### Docker
|
|
|
|
- Improved hardened Docker runtime flow
|
|
- Added explicit environment variable examples
|
|
- Added safer default pacing recommendations
|
|
- Improved deployment documentation
|
|
|
|
## Unreleased
|
|
|
|
### Added
|
|
- Spotify OAuth login flow
|
|
- Persistent Spotify user token handling
|
|
- Large playlist pagination support (>100 tracks)
|
|
- Deterministic YouTube candidate scoring
|
|
- Duration-aware YouTube matching
|
|
- Detailed YouTube candidate debug logging
|
|
- Improved Docker deployment guidance
|
|
|
|
### Improved
|
|
- YouTube pacing and throttling resistance
|
|
- Cover art embedding resilience
|
|
- Queue stability during large playlist imports
|
|
|
|
### Fixed
|
|
- Spotify playlist truncation at 100 tracks
|
|
- Incorrect live/acoustic YouTube selections
|
|
- Playlist retrieval failures on large public playlists
|
|
|
|
---
|
|
|
|
# 2.4.2
|
|
|
|
## Fixed
|
|
|
|
- Fixed Spotify playlist pagination using `data.next`
|
|
- Fixed incomplete playlist retrieval behavior
|
|
|
|
---
|
|
|
|
# 2.4.1
|
|
|
|
## Fixed
|
|
|
|
- Fixed Docker Node.js version compatibility
|
|
|
|
---
|
|
|
|
# 2.4.0
|
|
|
|
## Added
|
|
|
|
- Added configurable audio quality selection
|
|
|
|
## Fixed
|
|
|
|
- Fixed special character download issues
|
|
- Fixed EJS runtime issue
|
|
|
|
---
|
|
|
|
# 2.3.0
|
|
|
|
## Added
|
|
|
|
- Added individual track downloads
|
|
- Added cover art support
|
|
|
|
---
|
|
|
|
# 2.2.0
|
|
|
|
## Added
|
|
|
|
- Added Spotify API integration
|
|
- Added YouTube cookie support
|
|
- Added download timeout handling
|
|
|
|
---
|
|
|
|
# 2.0.0
|
|
|
|
## Added
|
|
|
|
- Introduced queue-based backend architecture
|
|
|
|
---
|
|
|
|
# 1.0.0
|
|
|
|
## Added
|
|
|
|
- Initial release
|