Skip to content

Releases: ChemistryGull/SomeDL

SomeDL - v1.4.0

14 May 15:30

Choose a tag to compare

[1.4.0] - 14.05.2026

Several small feature additions.

Added

  • Add album_cover_size option to the config file to set the cover art resolution. Default is large (544x544). It is now also possible to add no cover art by setting that option to "none"
  • Add sleep timer, as a flag as well as config option. This adds a sleep of the value inserted + 0-5 seconds as a sleep between each yt-dlp download to avoid IP blocking.
  • Add --range flag to only download a certain section of the input list. Follows the python slicing syntax (:3, 1:4:2, ::1, 1::2, etc...).
  • Add sync file selection prompt when entering somedl sync without a sync file name.

Fixed

  • Change artist downloading mechanism to incorporate newest changes in the ytmusicapi (sigma67/ytmusicapi#899)

SomeDL - v1.3.3

18 Apr 19:55

Choose a tag to compare

[1.3.3] - 18.04.2026

Added

  • Add cache for the ytmusicapi get_album call. This reduces the amount of YouTube Music requests and should improve download speeds by about 0.5 seconds for songs where the cache is utilized. This cache is per session only, nothing is stored on the users filesystem.
  • Add traceback to critical errors in the metadata fetching and download loops for easier debugging and issue reporting.

Fixed

  • Fix bug where metadata fetching would fail when both youtube and lrclib return no results
  • Removed dev print statements from 1.3.2

SomeDL - v1.3.1

14 Apr 21:55

Choose a tag to compare

[1.3.1] - 14.04.2026

Fixed

  • Fix critical bug that prevents people from starting SomeDL when they do not have a config file yet.

[1.3.0] - 12.04.2026

Another large update with many small added features. I could never test each edgecase alone, so please let me know if you find any inconsistencies or bugs!

Added

  • Add sync files feature. It lets you define a quick shortcut to download a list of playlists with their own configuration.
  • Add functionality to download all albums from an artist with a channel URL
  • Add fetch_album to the config.
  • Add --no-album flag to override the above config setting
  • Add download archive feature. Define a download archive file with --downlaod archive /path/to/archive.txt or by changing the download_archive config. When such a file is defined, all video IDs will be added into that download archive and will be skipped on any future download attempts.
  • Add --redownload flag to download a song even if its either in a download archive or the file is already present. If the File is present, it will be overwritten.
  • Add check_if_file_exists config and corresponding --skip-file-check flag to skip checking if a file does already exist. Useful for when you want to have duplicates of the same songs as single & album versions (Having files with the same artist and song title is elsewise not possible, even if in another album)
  • Add somedl update-metadata functionality. So far it only supports updating or adding lyrics.

Changed

  • In thread_fetch_metadata, switch from iterating over a list to a queue design, to make continous updates via the web-ui possible
  • Move header printing into console.print_header() to clean up main function
  • Clean and remove unused imports in main
  • Move process_song_list_concurrent to processor module to make it reusable for webui
  • Entering somedl download "..." now does not try to look up a song called "download".

Fixed

  • Fix bug where setting lyrics_type to "none" would still look up lyrics.
  • Add .strip() to all song titles for the (very) rare case that youtube mistakingly adds whitespaces at the end of the title.

Removed

  • Remove unused deprecated process_song_list_sequential function

SomeDL - v1.3.0

12 Apr 20:22

Choose a tag to compare

[1.3.0]

Another large update with many small added features. I could never test each edgecase alone, so please let me know if you find any inconsistencies or bugs!

Added

  • Add sync files feature. It lets you define a quick shortcut to download a list of playlists with their own configuration.
  • Add functionality to download all albums from an artist with a channel URL
  • Add fetch_album to the config.
  • Add --no-album flag to override the above config setting
  • Add download archive feature. Define a download archive file with --downlaod archive /path/to/archive.txt or by changing the download_archive config. When such a file is defined, all video IDs will be added into that download archive and will be skipped on any future download attempts.
  • Add --redownload flag to download a song even if its either in a download archive or the file is already present. If the File is present, it will be overwritten.
  • Add check_if_file_exists config and corresponding --skip-file-check flag to skip checking if a file does already exist. Useful for when you want to have duplicates of the same songs as single & album versions (Having files with the same artist and song title is elsewise not possible, even if in another album)
  • Add somedl update-metadata functionality. So far it only supports updating or adding lyrics.

Changed

  • In thread_fetch_metadata, switch from iterating over a list to a queue design, to make continous updates via the web-ui possible
  • Move header printing into console.print_header() to clean up main function
  • Clean and remove unused imports in main
  • Move process_song_list_concurrent to processor module to make it reusable for webui
  • Entering somedl download "..." now does not try to look up a song called "download".

Fixed

  • Fix bug where setting lyrics_type to "none" would still look up lyrics.
  • Add .strip() to all song titles for the (very) rare case that youtube mistakingly adds whitespaces at the end of the title.

Removed

  • Remove unused deprecated process_song_list_sequential function

SomeDL - v1.2.4

09 Apr 15:08

Choose a tag to compare

[1.2.4] - 09.24.2026

Fixed

  • Fix typos

[1.2.3] - 31.03.2026

Fixed

  • Fixed issue where it would always download .lrc file, even if lrc_file is set false

[1.2.2] - 31.03.2026

Fixed

  • Fixed missing import of console module in genius.py

[1.2.1] - 31.03.2026

Fixed

  • Fixed bug in the version check cache that would wrongly alert about an update.

[1.2.0] - 31.03.2026

Overview

SomeDL 1.2.0 contains big changes to the entire codebase. The core metadata fetching process has been refactored to enable concurrent downloading. These changes also enable more modular reuse of certain parts of the code, allowing the implementation of new features without duplicating much code. Speaking of new features, this update includes a feature to download entrie albums of every input query with the --fetch-album flag, a utility to update your existing folder structure with somedl new-metadata, and a utitity to import songs aquired by other means, or to update metadata in your existing library with somedl import. This update also includes a complete UI rewrite, which was necessary for concurrent downloads. The new UI should be more user-friendy by hiding unnecessary information. Users that still want to see what is going on behind the scenes can change their logging level with the new flags -v (just minor warnings, like missing metadata), -vv (About the same amout of info as with the old default UI) and -vvv (Everything, including debug information).

For feedback - positive and negative - regarding these chagnes, please use the discussion tab or open a new issue!

Added

  • Add already_downloaded_list to download report
  • Add --fetch-album functionality
  • Add lrclib as main lyrics source, youtube is fallback
  • Add synced lyrics support (with lrclib as source)
  • Add concurrent downloading functionality with user-editable download workers and queue size.
  • Add completly new CLI UI which is more user-friendly.
  • Add different verbosity flags: -v, -vv and -vvv
  • Add somedl import: Import songs downloaded with yt-dlp or aquired from other sources into a set folder structure, while also updating the metadata.
  • Add somedl new-template: Utility to automatically move your library into a new storeage template.

Changed

  • Refactor album check to metadata_album_check() function
  • Reworked the download report
  • Implement new clean_song_title function in utils
  • Change genius input to song_title_clean over song_title
  • Completely changed logging system to Python Rich based console printing.
  • Switched to Syslog inspired log servity levels (0-7).
  • The version check is only done once per 24 hours, the last check including version is added into somedl_version_cache.json in the SomeDL directory

Fixed

  • Fix filename recognition for files with square brackets in them
  • Include check for genius metadata
  • Some minor tweaks that hopefully will improve the experience.

Removed

  • Python Logging based logging. Will completely remove module in the future.

SomeDL - v1.2.3

31 Mar 15:29

Choose a tag to compare

[1.2.3] - 31.03.2026

Fixed

  • Fixed issue where it would always download .lrc file, even if lrc_file is set false

[1.2.2] - 31.03.2026

Fixed

  • Fixed missing import of console module in genius.py

[1.2.1] - 31.03.2026

Fixed

  • Fixed bug in the version check cache that would wrongly alert about an update.

[1.2.0] - 31.03.2026

Overview

SomeDL 1.2.0 contains big changes to the entire codebase. The core metadata fetching process has been refactored to enable concurrent downloading. These changes also enable more modular reuse of certain parts of the code, allowing the implementation of new features without duplicating much code. Speaking of new features, this update includes a feature to download entrie albums of every input query with the --fetch-album flag, a utility to update your existing folder structure with somedl new-metadata, and a utitity to import songs aquired by other means, or to update metadata in your existing library with somedl import. This update also includes a complete UI rewrite, which was necessary for concurrent downloads. The new UI should be more user-friendy by hiding unnecessary information. Users that still want to see what is going on behind the scenes can change their logging level with the new flags -v (just minor warnings, like missing metadata), -vv (About the same amout of info as with the old default UI) and -vvv (Everything, including debug information).

For feedback - positive and negative - regarding these chagnes, please use the discussion tab or open a new issue!

Added

  • Add already_downloaded_list to download report
  • Add --fetch-album functionality
  • Add lrclib as main lyrics source, youtube is fallback
  • Add synced lyrics support (with lrclib as source)
  • Add concurrent downloading functionality with user-editable download workers and queue size.
  • Add completly new CLI UI which is more user-friendly.
  • Add different verbosity flags: -v, -vv and -vvv
  • Add somedl import: Import songs downloaded with yt-dlp or aquired from other sources into a set folder structure, while also updating the metadata.
  • Add somedl new-template: Utility to automatically move your library into a new storeage template.

Changed

  • Refactor album check to metadata_album_check() function
  • Reworked the download report
  • Implement new clean_song_title function in utils
  • Change genius input to song_title_clean over song_title
  • Completely changed logging system to Python Rich based console printing.
  • Switched to Syslog inspired log servity levels (0-7).
  • The version check is only done once per 24 hours, the last check including version is added into somedl_version_cache.json in the SomeDL directory

Fixed

  • Fix filename recognition for files with square brackets in them
  • Include check for genius metadata
  • Some minor tweaks that hopefully will improve the experience.

Removed

  • Python Logging based logging. Will completely remove module in the future.

SomeDL - v1.2.2

31 Mar 14:29

Choose a tag to compare

[1.2.2] - 31.03.2026

Fixed

  • Fixed missing import of console module in genius.py

[1.2.1] - 31.03.2026

Fixed

  • Fixed bug in the version check cache that would wrongly alert about an update.

[1.2.0] - 31.03.2026

Overview

SomeDL 1.2.0 contains big changes to the entire codebase. The core metadata fetching process has been refactored to enable concurrent downloading. These changes also enable more modular reuse of certain parts of the code, allowing the implementation of new features without duplicating much code. Speaking of new features, this update includes a feature to download entrie albums of every input query with the --fetch-album flag, a utility to update your existing folder structure with somedl new-metadata, and a utitity to import songs aquired by other means, or to update metadata in your existing library with somedl import. This update also includes a complete UI rewrite, which was necessary for concurrent downloads. The new UI should be more user-friendy by hiding unnecessary information. Users that still want to see what is going on behind the scenes can change their logging level with the new flags -v (just minor warnings, like missing metadata), -vv (About the same amout of info as with the old default UI) and -vvv (Everything, including debug information).

For feedback - positive and negative - regarding these chagnes, please use the discussion tab or open a new issue!

Added

  • Add already_downloaded_list to download report
  • Add --fetch-album functionality
  • Add lrclib as main lyrics source, youtube is fallback
  • Add synced lyrics support (with lrclib as source)
  • Add concurrent downloading functionality with user-editable download workers and queue size.
  • Add completly new CLI UI which is more user-friendly.
  • Add different verbosity flags: -v, -vv and -vvv
  • Add somedl import: Import songs downloaded with yt-dlp or aquired from other sources into a set folder structure, while also updating the metadata.
  • Add somedl new-template: Utility to automatically move your library into a new storeage template.

Changed

  • Refactor album check to metadata_album_check() function
  • Reworked the download report
  • Implement new clean_song_title function in utils
  • Change genius input to song_title_clean over song_title
  • Completely changed logging system to Python Rich based console printing.
  • Switched to Syslog inspired log servity levels (0-7).
  • The version check is only done once per 24 hours, the last check including version is added into somedl_version_cache.json in the SomeDL directory

Fixed

  • Fix filename recognition for files with square brackets in them
  • Include check for genius metadata
  • Some minor tweaks that hopefully will improve the experience.

Removed

  • Python Logging based logging. Will completely remove module in the future.

SomeDL - v1.2.1

31 Mar 12:05

Choose a tag to compare

[1.2.1] - 31.03.2026

Fixed

  • Fixed bug in the version check cache that would wrongly alert about an update.

[1.2.0] - 31.03.2026

Overview

SomeDL 1.2.0 contains big changes to the entire codebase. The core metadata fetching process has been refactored to enable concurrent downloading. These changes also enable more modular reuse of certain parts of the code, allowing the implementation of new features without duplicating much code. Speaking of new features, this update includes a feature to download entrie albums of every input query with the --fetch-album flag, a utility to update your existing folder structure with somedl new-metadata, and a utitity to import songs aquired by other means, or to update metadata in your existing library with somedl import. This update also includes a complete UI rewrite, which was necessary for concurrent downloads. The new UI should be more user-friendy by hiding unnecessary information. Users that still want to see what is going on behind the scenes can change their logging level with the new flags -v (just minor warnings, like missing metadata), -vv (About the same amout of info as with the old default UI) and -vvv (Everything, including debug information).

For feedback - positive and negative - regarding these chagnes, please use the discussion tab or open a new issue!

Added

  • Add already_downloaded_list to download report
  • Add --fetch-album functionality
  • Add lrclib as main lyrics source, youtube is fallback
  • Add synced lyrics support (with lrclib as source)
  • Add concurrent downloading functionality with user-editable download workers and queue size.
  • Add completly new CLI UI which is more user-friendly.
  • Add different verbosity flags: -v, -vv and -vvv
  • Add somedl import: Import songs downloaded with yt-dlp or aquired from other sources into a set folder structure, while also updating the metadata.
  • Add somedl new-template: Utility to automatically move your library into a new storeage template.

Changed

  • Refactor album check to metadata_album_check() function
  • Reworked the download report
  • Implement new clean_song_title function in utils
  • Change genius input to song_title_clean over song_title
  • Completely changed logging system to Python Rich based console printing.
  • Switched to Syslog inspired log servity levels (0-7).
  • The version check is only done once per 24 hours, the last check including version is added into somedl_version_cache.json in the SomeDL directory

Fixed

  • Fix filename recognition for files with square brackets in them
  • Include check for genius metadata
  • Some minor tweaks that hopefully will improve the experience.

Removed

  • Python Logging based logging. Will completely remove module in the future.

SomeDL - v1.2.0

31 Mar 11:49

Choose a tag to compare

[1.2.0] - 31.03.2026

Overview

SomeDL 1.2.0 contains big changes to the entire codebase. The core metadata fetching process has been refactored to enable concurrent downloading. These changes also enable more modular reuse of certain parts of the code, allowing the implementation of new features without duplicating much code. Speaking of new features, this update includes a feature to download entrie albums of every input query with the --fetch-album flag, a utility to update your existing folder structure with somedl new-metadata, and a utitity to import songs aquired by other means, or to update metadata in your existing library with somedl import. This update also includes a complete UI rewrite, which was necessary for concurrent downloads. The new UI should be more user-friendy by hiding unnecessary information. Users that still want to see what is going on behind the scenes can change their logging level with the new flags -v (just minor warnings, like missing metadata), -vv (About the same amout of info as with the old default UI) and -vvv (Everything, including debug information).

For feedback - positive and negative - regarding these chagnes, please use the discussion tab or open a new issue!

Added

  • Add already_downloaded_list to download report
  • Add --fetch-album functionality
  • Add lrclib as main lyrics source, youtube is fallback
  • Add synced lyrics support (with lrclib as source)
  • Add concurrent downloading functionality with user-editable download workers and queue size.
  • Add completly new CLI UI which is more user-friendly.
  • Add different verbosity flags: -v, -vv and -vvv
  • Add somedl import: Import songs downloaded with yt-dlp or aquired from other sources into a set folder structure, while also updating the metadata.
  • Add somedl new-template: Utility to automatically move your library into a new storeage template.

Changed

  • Refactor album check to metadata_album_check() function
  • Reworked the download report
  • Implement new clean_song_title function in utils
  • Change genius input to song_title_clean over song_title
  • Completely changed logging system to Python Rich based console printing.
  • Switched to Syslog inspired log servity levels (0-7).
  • The version check is only done once per 24 hours, the last check including version is added into somedl_version_cache.json in the SomeDL directory

Fixed

  • Fix filename recognition for files with square brackets in them
  • Include check for genius metadata
  • Some minor tweaks that hopefully will improve the experience.

Removed

  • Python Logging based logging. Will completely remove module in the future.

SomeDL - v1.1.3

17 Mar 21:26

Choose a tag to compare

[1.1.3] - 17.03.2026

Changed

  • When a URL contains both song (v=) and playlist (list=) IDs, now only the song is downloaded, not the whole list by default
    • Added a user info prompt when this case appears.
    • Why song only as default? For these types of URLs, its not always clear what the user preferes. Just downloading one song is less bad when its the wrong desicion than downloading the whole playlist would be.
  • Add --get-song and --get-playlist flags for the above change.
  • Add prefer_playlist config (default false)
  • Changed Song does already exist. Skipping download Warning to Info and colored green. Temporary until i implement a better return value.