* Updated exception handling in the `login` method to catch all exceptions instead of just `HTTPError` and `JSONDecodeError`.
* This change ensures that any unexpected errors during the login process are handled gracefully, improving the robustness of the application.
* Updated `tidalapi` from version `0.8.7` to `0.8.8` in `pyproject.toml`.
* Updated package version in `poetry.lock` to reflect the change.
* Added new file hashes for the updated version.
- requests from 2.32.4 to 2.32.5
- rich from 14.1.0 to 14.2.0
- typer from 0.16.0 to 0.19.2
- tidalapi from 0.8.5 to 0.8.7
- pytest from 8.4.1 to 8.4.2
- mypy from 1.17.1 to 1.18.1
- tox from 4.28.4 to 4.31.0
- pyupgrade from 3.20.0 to 3.21.0
- isort from 6.0.1 to 7.0.0
- pylint from 3.3.8 to 4.0.1
- pillow from 11.3.0 to 12.0.0
- pytest-cov from 6.2.1 to 7.0.0
- black from 25.1.0 to 25.9.0
- nuitka from 2.7.11 to latest
* Added a section addressing the terminal flashing issue when running the app on Windows.
* Provided a link to issue #103 for further details.
* Explained that this occurs due to the Python `ffmpeg` library when `extract_flac` is activated.
* Added a missing line in the `MainWindow` constructor to ensure proper settings initialization.
* Removed unnecessary blank line in the `closeEvent` method for cleaner code.
* Changed type hint for `paths` from `[Path]` to `list[Path]`.
* Simplified the check for `pyproject.toml` existence.
* Enhanced error handling in metadata retrieval with specific exceptions.
* Updated the `update_available` function signature for clarity.
* Adjusted the logic in `path_file_sanitize` to ensure the sanitized filename correctly appends the file suffix after the placeholder.
* This change prevents potential filename issues when handling file paths.
* Prevent writing `CoverDimensions.PxORIGIN` to metadata to avoid exceeding max file size (>16Mb).
* Ensure correct cover image is used based on `cover_dimension` settings.
* 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.
* Clarified the placeholder instructions for the "What happened?" field in the bug report template.
* Ensured consistency in language and improved readability for users submitting bug reports.
This commit refactors the codebase to improve readability and maintainability by updating enums and type annotations:
- ✨ **Replaced `StrEnum` attributes**: Removed explicit type declarations for enum values to simplify the code.
- 🛠️ **Introduced `AudioExtensionsValid` enum**: Added a new enum for valid audio file extensions.
- 🔄 **Enhanced type annotations**: Updated `FAVORITES` dictionary to include specific type hints for clarity.
- 🧹 **Updated references**: Replaced outdated `AudioExtensions` usage with the new `AudioExtensionsValid`.
These changes improve code clarity, enforce stricter typing, and enhance extensibility.
Introduces a new configuration option, `metadata_write_url`, to control whether the media file URL is included in metadata. Updates logic to respect this setting.
- ✨ **Feature**: Adds `metadata_write_url` to enable/disable URL writing in metadata.
- 🔧 **Logic Update**: Adjusts URL handling to check the new setting before including it.
- 📝 **Documentation**: Updates help descriptions to explain the new option.
This change improves flexibility in metadata customization.
Adds functionality to handle original image dimensions (`origin`) for album cover downloads.
- ✨ Added `PxORIGIN` option to cover dimension constants.
- 🔄 Updated cover image URL logic to support original dimensions.
- 🛠️ Improved cover data handling for more flexible metadata embedding.
This enhances customization and fidelity in cover image management.
Improves the application's icon handling by introducing multi-resolution
support, replacing a single PNG file with multiple resolution-specific icons.
- ✨ **Added** multiple resolution icons (16x16, 32x32, 48x48, 64x64, 256x256, 512x512).
- 🔄 **Updated** GUI setup to use multi-resolution icons for better scalability.
- 🗑️ **Removed** the old single-resolution `icon.png`.
This update ensures better compatibility and visual quality across
different platforms and screen resolutions.
This update introduces support for handling date-related format strings, improving the flexibility of media metadata formatting.
- ✨ **Feature**: Adds `_format_dates` function to handle date-related strings like `album_date`.
- 🛠️ **Enhancement**: Refactors `_format_durations` by isolating date-related logic into a new function.
- 📅 **Improvement**: Supports formatting `album_year` and `album_date` with proper checks for `Album` and `Track` types.
This improvement enhances media metadata formatting capabilities for more detailed date information.