spotDL Changelog

What's new in spotDL 4.2.5

Mar 28, 2024
  • New features:
  • Add Skip Album Art Functionality by @egndz in #2032
  • Update/implement skip flag by @prodigy7 in #2010
  • Add filtering by album type by @egndz in #2048
  • Split get user playlists and get saved playlists to two shortcuts by @xnetcat in 92d3338
  • Bug fixes:
  • Fix for multiple keywords in --ignore-albums option by @bharat-nair in #2014
  • Fix milliseconds for song initialization in by @egndz #2028
  • Fix performance issue when ffmpeg outputs a lot of lines by @pekkarr in #2013
  • Remove sync tags from lyrics when saving them in uslt tag by @xnetcat in f47d77c
  • Add Album Cover Art Check by @egndz in #2033
  • Fix termux installation by @rimurum in #2038 and #2042
  • Save errors when main thread crashes by @xnetcat in ffb9f2b
  • Update the app scope by @xnetcat in 205e127
  • Matching improvements:
  • Lower average match for explicit mismatch by @xnetcat in 1b9bc72
  • Always skip results with low time match by @xnetcat in ff952d3
  • Improved lyrics matching by @xnetcat in e4de031
  • Quality of life improvements:
  • Default to the current directory when running web interface from a frozen application by @xnetcat in 1988035
  • Added isrc tag to mp3 files by @xnetcat in a6a98ec
  • Added artist id to song object by @xnetcat in d5416ab

New in spotDL 4.2.4 (Dec 3, 2023)

  • Fixed:
  • Released asset names of v4.2.3 are wrong.

New in spotDL 4.2.3 (Dec 3, 2023)

  • Improvements:
  • added support for python 3.12 by @xnetcat in b64e879

New in spotDL 4.2.2 (Nov 19, 2023)

  • New features:
  • added option to scrape any user's playlists by @bharat-nair in #1916
  • added support for proxy servers --proxy by @Tunglies in #1912
  • added option to skip explicit songs --skip-explicit by @xnetcat in 1ba370f
  • added option to ignore albums --ignore-album by @Billa05 in #1934
  • added log format option --log-format by @xnetcat in b04a864
  • added redownload flag for meta operation by @Billa05 in 912adc9
  • added shortcut for all user saved albums by @edy252 in ab5ef17
  • Bug fixes:
  • get download url when reading file metada by @xnetcat in #1918
  • fixed spotify.link for non song links by @xnetcat in 2354929
  • Matching:
  • always add time to match value by @xnetcat in 7f361e1
  • fallback to title matching for non verified results when score is lower than 70 by @xnetcat in 6643a33
  • Improvements
  • check if youtube music is available by @xnetcat in 8be7680
  • improved azlyrics lyrics provider (added automatic retries) by @xnetcat in 698983a
  • added timer for debug mode by @xnetcat in 83a10b4
  • change URI Auth Port from 8080 to 9900 (something less common) by @edinosma in e828353
  • perform subdomain swap on youtube playlists by @xnetcat in affddb4
  • update dependencies by @xnetcat in c19e9a9
  • Documentation:
  • added top 100 contributors in README.md by @MuhammadNizamani in #1926
  • fixed typo in progress_handler.py by @AniketP04 in #1929
  • fixed typo in formatter.py result.py by @AniketP04 in #1933
  • fixed typo in installation.md by @AniketP04 in #1936
  • updated url and web commands in docs/index.md by @drvnprgrmr in #1947
  • updated quality docs/options by @xnetcat in 67b09cf
  • fixed ReadTheDocs build environment by @xnetcat in 553e7a8

New in spotDL 4.2.1 (Sep 4, 2023)

  • Web:
  • Playlist, artist and album download from web app by @oscarvx00 in #1865
  • Bugfixes:
  • check if track is a song when downloading playlists by @xnetcat in 8949b9a
  • Support for manual Bandcamp and Soundcloud download. (Using like manual Youtube download in the format MusicURL|SpotifyURL) by @Piripe in #1897
  • Fix crash when filtering results with the --dont-filter-results argument when a provider has 0 result by @Piripe in #1897
  • Fixed a crash with the cache by @Piripe in #1897
  • Fixed matching error when downloading an album caused by track duration by @Piripe in #1897
  • Fixed bandcamp audio provider by @xnetcat in b1a48de a4c6e8d
  • Improvements:
  • use downloader settings when parsing query by @xnetcat in 0a692c7
  • added more checks for sync file by @xnetcat in 5e34b21
  • respect detect-formats option when using m3u option by @xnetcat in 8a8891e
  • fixed/improved search term matching by @xnetcat in db11f71
  • New features:
  • added option to save errors by @xnetcat in 920442e
  • added more checks for sync file
  • added ability to print to stdout when using save by @xnetcat in ce2bce6
  • added all-user-followed-artists shortcut by @xnetcat in f9f110f
  • Misc:
  • updated packages by @xnetcat in f8d7490

New in spotDL 4.2.0 (Jul 11, 2023)

  • Docs:
  • added more info about cookies by @xnetcat in fc817ad
  • updated the build command by @xnetcat in aac20f5
  • fix broken link in docs by @laurens94 in 2baad4a
  • Bug fixes:
  • even more improvements to file name creation function by @xnetcat in e9dee4f
  • update client's downloader settings by @xnetcat in 4fd1be7
  • check if result has views before calculating the match score by @xnetcat in 3f0565c
  • Matching:
  • simplified artist match fixup for verified results by @xnetcat in 7568dd9
  • improved link matching by changing how the views are included in the overall score by @xnetcat in f0ece43
  • New features:
  • added support for wav files by @xnetcat in e7fa8fc c1fb508
  • added --yt-dlp-args flag by @xnetcat in d789a5c
  • added soundcloud audio provider by @xnetcat in e6f0339
  • added bandcamp audio provider by @xnetcat in cc399a8
  • added piped audio provider by @xnetcat in ecba7d6 (use piped to bypass country restrictions)
  • added detect formats option by @xnetcat in d9aac57
  • added ability to download all user playlists by @xnetcat in b915dc3
  • Improvements:
  • remove unwanted directories in container image by @Biswa96 in #1856
  • improved sync file detection by @xnetcat in 039801f
  • added more words to forbidden words list by @xnetcat in f4835a4 06cac0f
  • add ISRC in file tags by @Maxmystere in #1859
  • updated packages by @xnetcat in 27a62f0
  • added support for piped links by @xnetcat in d293855
  • Give an ascii mode to --restrict flag by @OmeGak in #1858
  • use POPM id3 tag for popularity by @xnetcat in 2384f0b
  • New Contributors

New in spotDL 4.1.11 (May 25, 2023)

  • Improvements:
  • Removed original date from id3 tags by @xnetcat in ef2b647
  • Improved documentation by @Shabinder and @xnetcat in 7d13e52 5564485 a15f755
  • Include Spotify Popularity in metadata for MP3 files by @cordeliachen in #1827
  • Bug fixes:
  • Check if we get less than 2 template parts by @xnetcat in 1217595

New in spotDL 4.1.10 (May 2, 2023)

  • Improvements:
  • remove intl-xx from all spotify links by @xnetcat in d1e68ff

New in spotDL 4.1.9 (May 1, 2023)

  • Bug fixes:
  • Fixed KeyError when downloading ytm playlists
  • Improvements:
  • Added support for links with language codes

New in spotDL 4.1.8 (Apr 23, 2023)

  • Bug fixes:
  • Check if time tags are actually time signatures
  • Catch unexpected exceptions when getting lyrics
  • Rewritten file name creation logic for long file names
  • Keep the parent path when creating short path name
  • Don't use default template when formatting template
  • Improvements:
  • Added support for spotify.link
  • Updated syncedlyrics to v0.5.0

New in spotDL 4.1.7 (Apr 23, 2023)

  • Bug fixes:
  • fixed missing data error when using YouTube URL by @xnetcat in bfc3058
  • create display tracker after song re-initialization by @xnetcat in f23add2
  • New features:
  • added option to only use verified results by @xnetcat in d0d1d67
  • added option to sync without deleting new songs by @xnetcat in a12c9d9
  • added option to change the max filename length by @xnetcat in 55165bb
  • added option to cache spotify requests by @xnetcat in 7f7d50e
  • Other changes:
  • updated project dependencies by @xnetcat in 9846afa

New in spotDL 4.1.6 (Apr 17, 2023)

  • Improvements:
  • use shutil to move the file by @xnetcat in d49cfd3

New in spotDL 4.1.4 (Apr 6, 2023)

  • Matching improvements:
  • Simplified artists match calculation
  • Improved main artist matching
  • Bug fixes:
  • Fixed genre check when saving metadata
  • Improvements:
  • Utils/search.py: lazily initalize YTMusic() client
  • Youtube playlist support improvements
  • Improved logic in metadata operation
  • Added retry logic to azlyrics
  • Improved lyrics matching across all lyrics providers
  • Other changes:
  • Update README.md
  • Updated syncedlyrics

New in spotDL 4.1.3 (Mar 15, 2023)

  • New features:
  • Added option to generate lrc files
  • Added option to force metadata update
  • Bug fixes:
  • Use ID3 v2.3 to save mp3 tags
  • Metadata reading related fixes
  • Optimized how the data is stored in save files
  • Fixed key error when trying to access track fields in playlist
  • Fixed sync/m3u functionality when using 'restrict' option
  • Use custom id3 sep for reading files

New in spotDL 4.1.2 (Mar 4, 2023)

  • New features:
  • Added geo bypass option (not tested) by @xnetcat in 2ff3c0a
  • Bug fixes:
  • Bumped yt-dlp version to fix slow downloads by @BobbyESP in #1761
  • Matching improvements:
  • Changed threshold for adding time to avg match by @xnetcat in 80f7dc3

New in spotDL 4.1.1 (Mar 2, 2023)

  • Fixed slow download speed
  • Fixed AttributeError: module yt_dlp.dependencies.Cryptodome.Cipher has no attribute AES

New in spotDL 4.1.0 (Mar 1, 2023)

  • Matching improvements:
  • Improved matching for japanese songs by @xnetcat in 513cefa 57482fc d98a517
  • Improved song matching for results with merged artists by @xnetcat in ffda0af
  • Fixed some errors related to unicode encoding by @xnetcat in 4380cea
  • Fixed songs matching when using isrc for searching by @xnetcat in 5cce3b9 488fc0c
  • Fixed ambiguous characters detection by @xnetcat in 63f6a41
  • Adjusted thresholds, fixed a bug when averaging by @xnetcat in e2591a1
  • Fixed artist matching bug by @xnetcat in abc1824
  • Improved character transliteration by @xnetcat in a2bb61a
  • Other fixes by @xnetcat 61fca66 8d58b5e fe2cdb7 e141737
  • Bug fixes:
  • Fixed recursion error not being raised properly by @xnetcat in 15df07f
  • Update Dockerfile to add spotipy by @frgaudet in #1693
  • Fixed stream copy for opus by @xnetcat in files 4cea464
  • New features:
  • Added synced lyrics by @xnetcat in ce99b2b (shoutout to @rtcq for his syncedlyrics package)
  • Match existing songs by spotify URL instead of name by @Domi250 in #1641
  • Added max retries option/added retry logic to internal call by @owahltinez in #1707
  • Added new operation to get download urls by @xnetcat in e8cf6dd
  • Added option to fetch albums by @xnetcat in 0b13e9b
  • Added option to change id3 separator for mp3 files by @xnetcat in a4b54aa
  • Added youtube url support, for manual matching and direct downloads by @xnetcat in 88e1d94
  • Improvements:
  • Improved message for already existing files by @xnetcat in 47a0e6a
  • Added option to disable bitrate by @xnetcat in 8db3708
  • Docs overhault by @Domi250 in #1717
  • Added support for python 3.11.1 and above by @xnetcat in 99c77ba
  • Added caching for slugify and ratio functions by @xnetcat in 66ac293
  • Improved detection of tracks that have been removed from spotify by @xnetcat in 6102ccd
  • Improved performance of search function in downloader by not reinitializing audio provider on each search call by @xnetcat in d392a98
  • Changed apostrophes with quotation marks by @bolobos in #1723
  • Optimized query parsing speed by @xnetcat in 457e5f0
  • Deferred song reinit to after output file creation by @xnetcat in d71b754
  • Escape / don't parse square brackets in song names by @NicoWeio in #1739
  • Web UI changes:
  • Improved multi client support for web interface by @xnetcat in 566e5ab
  • Added option to use output directory for web downloads by @xnetcat in 8f73d76
  • Remove sessions directory after shutdown by @xnetcat in ec822e4
  • API changes:
  • Unified matching algorithm for all audio providers by @xnetcat in 016ca95
  • Rewritten metadata module, added function to get song metadata from files by @xnetcat in 7d01556
  • Don't raise error on empty results list by @xnetcat in 35be8b3
  • Migrated matching functions to new module by @xnetcat in e993c92 558ffb4 67bbfa1
  • Rewritten downloader init and config management/typing by @xnetcat in fd8f0e8
  • Added custom logging level by @xnetcat in 7822812
  • Added __all__ to all modules by @xnetcat in a7d3789
  • Changed logging system by @xnetcat in 04018f1
  • Rewritten downloader initialization and config management/typing by @xnetcat in fd8f0e8
  • Added caching for slugify and ratio functions by @xnetcat in 66ac293
  • Rewritten most of the song list class by @xnetcat in c3b1dad
  • Other changes:
  • Enhanced the Docker image outputs - version tags, nightly builds by @othyn in #1725 #1727
  • Added bash script for building bin-zip file by @BobbyESP in #1747
  • Overhauled docs by @Domi250 and @xnetcat in #1717 and 960932d
  • Added documentation regarding valid output variables by @Samplasion in #1744

New in spotDL 4.0.7 (Feb 2, 2023)

  • Fixed Incompatiblity with fastapi 0.89.0
  • Added support for yt-dlp > 2023
  • Added support for python 3.11.1