<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tidal-dl-ng/tidal_dl_ng/helper/tidal.py, branch master</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/tidal-dl-ng/atom/tidal_dl_ng/helper/tidal.py?h=master</id>
<link rel='self' href='http://git.cashmere.rs/tidal-dl-ng/atom/tidal_dl_ng/helper/tidal.py?h=master'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/'/>
<updated>2025-11-29T11:10:06Z</updated>
<entry>
<title>feat(hover): add track details preview on hover + fix all ruff violations</title>
<updated>2025-11-29T11:10:06Z</updated>
<author>
<name>Warry</name>
<email>FunWarry@users.noreply.github.com</email>
</author>
<published>2025-11-29T11:10:06Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=d2c3e8ab8f1dcaec2b8be7ff9d1fb6c0df2d5296'/>
<id>urn:sha1:d2c3e8ab8f1dcaec2b8be7ff9d1fb6c0df2d5296</id>
<content type='text'>
Implement comprehensive track information display on hover and resolve all
code quality issues to achieve complete ruff compliance.

MAJOR FEATURES:
- Track details preview on hover with rich metadata display
- Async BPM fetching with loading indicator
- Enhanced metadata utilities with fuzzy matching
- TIDAL API extras integration

FILES MODIFIED: 15+ files (core, UI, tests, docs)

RUFF COMPLIANCE: 0 errors (89+ violations resolved)
- Fixed E999 syntax error in metadata_utils.py
- Refactored 10+ complex functions (C901)
- Updated error handling (S110, S112, SIM105)
- Modernized type hints (UP038)
- Fixed naming conflicts (A001, F811)

BUG FIXES:
- Added missing _on_update_cover() method (11 test failures)
- Fixed BPM display and async loading
- Improved thread safety

TESTING: 30 passed, 1 skipped
DOCUMENTATION: Windows PowerShell support, tox troubleshooting
</content>
</entry>
<entry>
<title>feat(gui): ✨ enhance user media handling with folder support</title>
<updated>2025-11-12T14:05:20Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-11-12T14:05:20Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=9baea9b82c539eae693b11416aeb74db434b86ee'/>
<id>urn:sha1:9baea9b82c539eae693b11416aeb74db434b86ee</id>
<content type='text'>
* Updated `user_media_lists` to return a dictionary containing both `playlists` and `mixes`, including `Folder` objects.
* Modified `on_populate_tree_lists` to handle `Folder` items and display their contents.
* Introduced new methods for loading and displaying folder contents in the user interface.
</content>
</entry>
<entry>
<title>Fix album_artist substitution</title>
<updated>2025-10-26T14:33:07Z</updated>
<author>
<name>Jeff Brower</name>
<email>jeff@jeffbrower.com</email>
</author>
<published>2025-10-26T14:33:07Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=be43c3f616f2d33a8513f256249d059fa658aa43'/>
<id>urn:sha1:be43c3f616f2d33a8513f256249d059fa658aa43</id>
<content type='text'>
For albums that are listed with a non-"main" artist first (ex: 37691520), the album artist replacement was returning an empty string. This isn't a problem with the default settings, but if you format albums into `{album_artist}/...`, the path becomes `/...` in this case, and is interpreted as an absolute path instead of a relative one, causing the download to fail.

This changes the logic so that if the `first_only` flag is passed, it will return after the first artist is actually added to the list, no longer returning an empty string.</content>
</entry>
<entry>
<title>feat(path): ✨ add customizable delimiters for artist names in file paths</title>
<updated>2025-10-17T11:13:19Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-10-17T11:13:19Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=dd5a402dcebd79e1efe1b643ec874ade42683271'/>
<id>urn:sha1:dd5a402dcebd79e1efe1b643ec874ade42683271</id>
<content type='text'>
* Updated `format_path_media` and related functions to accept customizable delimiters for artist names.
* Modified `Settings` class to include `filename_delimiter_artist` and `filename_delimiter_album_artist`.
* Enhanced `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
</content>
</entry>
<entry>
<title>feat(metadata): ✨ add customizable metadata delimiters for artists</title>
<updated>2025-10-17T10:06:25Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-10-17T10:06:25Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=5da1855028b4519fd284fa55ae7b38390cbde62f'/>
<id>urn:sha1:5da1855028b4519fd284fa55ae7b38390cbde62f</id>
<content type='text'>
* Introduced `metadata_delimiter_artist` and `metadata_delimiter_album_artist` settings.
* Updated `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
* This allows users to specify their preferred delimiter for artist names in metadata.
</content>
</entry>
<entry>
<title>change artist delimiter to semicolon</title>
<updated>2025-09-29T15:49:39Z</updated>
<author>
<name>Maya Doshi</name>
<email>maya-doshi@proton.me</email>
</author>
<published>2025-09-29T15:49:39Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=59ee4cd2724927757abd2ebfa6fa97270977015a'/>
<id>urn:sha1:59ee4cd2724927757abd2ebfa6fa97270977015a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(tidal): ✨ add url_ending_clean function and refactor URL handling. Fixes #523</title>
<updated>2025-09-07T16:27:30Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-09-07T16:27:30Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=541527be322a73e4ecdef215e04dc0a040250063'/>
<id>urn:sha1:541527be322a73e4ecdef215e04dc0a040250063</id>
<content type='text'>
* Introduced `url_ending_clean` to sanitize URLs by removing trailing "/u" or "?u".
* Updated `_process_url` and GUI search logic to utilize cleaned URLs for better validation and processing.
</content>
</entry>
<entry>
<title>✨  will only return the first artists.  will return all album artists. Fixes #439</title>
<updated>2025-06-29T19:42:39Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-06-29T19:42:39Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=db5c5eac9706eb5ab8d11c05f4346d64653ba83c'/>
<id>urn:sha1:db5c5eac9706eb5ab8d11c05f4346d64653ba83c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Replay gain information can be disabled in settings. Fixes #176</title>
<updated>2025-02-28T09:55:41Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-02-28T09:55:41Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=5e91194bd1211e769739a80c46e0812f309f688f'/>
<id>urn:sha1:5e91194bd1211e769739a80c46e0812f309f688f</id>
<content type='text'>
🛠️ Fixed some warnings
</content>
</entry>
<entry>
<title>✨ Finished items will be written to log output. Minor refactoring.</title>
<updated>2024-11-15T08:57:01Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-11-15T08:53:21Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=037e6f14a20dc32055755382592e47bde94f073f'/>
<id>urn:sha1:037e6f14a20dc32055755382592e47bde94f073f</id>
<content type='text'>
</content>
</entry>
</feed>
