From 2ef1ba42a8d13050358f32740adc298f32136b05 Mon Sep 17 00:00:00 2001 From: Mathis Maquenne <124215603+mathismqn@users.noreply.github.com> Date: Thu, 11 Sep 2025 00:59:17 +0200 Subject: [PATCH] docs: update for v1.3.0 --- CHANGELOG.md | 38 +++++++++++++++++++++++--------------- README.md | 44 +++++++++++++++++++++----------------------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62679bc..c25d332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,18 +5,27 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.3.0] - 2025-09-11 + +### Added +- Add new `track` command to download individual songs. +- Add `--genre` flag to fetch and embed genre information into file metadata tags. + +### Fixed +- Handle empty media resources gracefully to prevent crashes. + ## [1.2.0] - 2025-08-18 ### Added -- New `artist` command to download an artist’s top tracks. -- `--limit` flag for the `artist` command to restrict the number of tracks. -- `--strict` flag for downloads: fail if the requested quality is unavailable. +- Add new `artist` command to download an artist’s top tracks. +- Add `--limit` flag for the `artist` command to restrict the number of tracks. +- Add `--strict` flag for downloads: fail if the requested quality is unavailable. ### Changed -- Default download quality is now **MP3 320kbps**. +- Set default download quality to **MP3 320kbps**. ### Removed -- The `--quality=best` option. Fallback to lower quality is now the **default behavior**; use the new `--strict` flag if you want to prevent fallback. +- Remove `--quality=best` option. Fallback to lower quality is now the default behavior; use the `--strict` flag to prevent fallback. ### Fixed - Handle error when `SNG_CONTRIBUTORS` metadata is empty. @@ -24,22 +33,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.1.1] - 2025-06-16 ### Fixed -- Restored ability to download tracks **without a Deezer Premium account** (limited to **MP3 128kbps** for free accounts). +- Restore ability to download tracks without a Deezer Premium account (limited to **MP3 128kbps** for free accounts). ## [1.1.0] - 2025-05-19 ### Added -- Support for downloading full albums and playlists with more than 40 tracks (previous limit removed). -- Option to fetch and embed **BPM** and **musical key** into metadata tags. -- New local **database system** (`tracks.db`) to track downloaded files and avoid re-downloading, even if files are renamed or moved. -- Improved CLI **output formatting** for a cleaner and more informative user experience. +- Support downloading full albums and playlists with more than 40 tracks (previous limit removed). +- Fetch and embed **BPM** and **musical key** into metadata tags. +- Add local **database system** (`tracks.db`) to track downloaded files and avoid re-downloading, even if files are renamed or moved. +- Improve CLI **output formatting** for a cleaner and more informative user experience. ### Changed -- The `.godeez` file in the user’s home directory has been replaced by a `.godeez/` directory. - It now stores both `config.toml` and the internal `tracks.db`. - If you're upgrading from an older version, move your existing config into `.godeez/config.toml`. -- Simplified `config.toml`: `iv` and `license_token` are no longer required. -- Cleanup logic: corrupted or incomplete files are now automatically deleted on download failure. +- Replace the `godeez` file in the user’s home directory with a `.godeez/` directory, which now stores both `config.toml` and `tracks.db`. +👉 If upgrading, move your existing config into `.godeez/config.toml`. +- Simplify `config.toml`: remove the need for `iv` and `license_token`. +- Automatically delete corrupted or incomplete files on download failure. ## [1.0.0] - 2024-10-15 diff --git a/README.md b/README.md index 8064e99..1fec687 100644 --- a/README.md +++ b/README.md @@ -20,26 +20,26 @@ A simple Go tool for downloading music from [Deezer](https://www.deezer.com). ## Features -* Download playlists, albums, artists' top tracks, and individual tracks from Deezer -* Select audio quality: MP3 128kbps, MP3 320kbps (default), or FLAC (⚠️ non-premium accounts are limited to 128kbps) -* Automatically adds metadata tags to downloaded files -* Fetch and tag songs with BPM and musical key -* Smart skip system: avoids re-downloading already existing files using hashes and metadata -* Cross-platform support (works on Windows, macOS, and Linux) -* Simple and easy-to-use CLI +- Download playlists, albums, artists’ top tracks, and individual tracks +- Choose audio quality: **MP3 128kbps**, **MP3 320kbps** (default), or **FLAC** (⚠️ non‑premium accounts are limited to 128kbps) +- Automatically embed metadata tags (artist, album, title, artwork, etc.) +- Fetch and tag songs with **BPM**, **musical key**, and **genre** +- Skip already-downloaded files using hashes and metadata +- Support Windows, macOS, and Linux +- Provide a simple, easy-to-use CLI ## Installation -To install **GoDeez**, simply download the latest binary for your platform from the Releases page. +To install **GoDeez**, download the latest binary for your platform from the [Releases](https://github.com/mathismqn/godeez/releases) page. 1. Go to the [Releases](https://github.com/mathismqn/godeez/releases) page. 2. Download the appropriate binary for your operating system (Windows, macOS, or Linux). -3. Move the binary to a directory included in $PATH for easy access (optional but recommended). +3. (Optional) Move the binary to a directory included in `$PATH` for easier access. Example (Linux/macOS): ```bash # Move the downloaded binary to /usr/local/bin for easy access from anywhere -mv godeez-1.2.0-linux-amd64 /usr/local/bin/godeez +mv godeez-1.3.0-linux-amd64 /usr/local/bin/godeez ``` ## Configuration @@ -47,12 +47,12 @@ mv godeez-1.2.0-linux-amd64 /usr/local/bin/godeez The first time you run **GoDeez**, a configuration directory named `.godeez` will be automatically created in your home directory (`$HOME` on Linux/macOS, `%USERPROFILE%` on Windows). Inside this directory: -- `config.toml`: main configuration file which contains several important variables that you need to fill out manually -- `tracks.db`: internal database used to track downloaded files and prevent duplicates +- `config.toml`: main configuration file you need to edit manually +- `tracks.db`: internal database used to track downloads and avoid duplicates ### Steps to configure -1. Run the application for the first time: this creates the `.godeez` directory and the `config.toml` file inside it. +1. Run the application once: this creates the `.godeez` directory and the `config.toml` file. 2. Edit the `config.toml` file with a text editor to set the required values. ### Variables to configure @@ -79,7 +79,6 @@ Here are the key variables you need to set in `config.toml`: ### Example -Here's an example of a minimal `config.toml` you can customize: ```toml # ~/.godeez/config.toml @@ -92,7 +91,8 @@ output_dir = '' # optional ### CLI Overview -When you run `godeez` without any additional commands, you’ll see a general help menu: +Running `godeez` without arguments shows the help menu: + ```bash GoDeez is a tool to download music from Deezer @@ -110,9 +110,9 @@ Flags: Use "godeez [command] --help" for more information about a command. ``` -This provides an overview of the available commands and flags. -To download music, you need to use the download command. Here’s how the CLI looks when you run `godeez download`: +### Download commands + ```bash Download songs from Deezer @@ -128,6 +128,7 @@ Available Commands: Flags: --bpm fetch BPM/key and add to file tags --config string config file (default ~/.godeez/config.toml) + --genre fetch genre and add to file tags -h, --help help for download -q, --quality string download quality [mp3_128, mp3_320, flac] (default "mp3_320") --strict fail the song download if the quality is not available @@ -138,8 +139,6 @@ Use "godeez download [command] --help" for more information about a command. ### Examples -Here are some examples of how to use the different download commands: - ```bash # Download an album godeez download album 12345678 @@ -153,8 +152,8 @@ godeez download artist 11223344 --limit 5 # Download a single track godeez download track 98765432 -# Download with specific quality and BPM data -godeez download track 98765432 --quality flac --bpm +# Download with specific quality, BPM and genre data +godeez download track 98765432 --quality flac --bpm --genre ``` ## Contributing @@ -163,7 +162,6 @@ Contributions help make **GoDeez** a better tool for everyone, and any help is g Whether it’s a bug fix, a new feature, or improving documentation, your input is valuable. If you have an idea for improvement, feel free to fork the repository and submit a pull request. You can also open an issue if you spot a bug or have a feature suggestion. -Every bit of support counts, so don’t forget to give the project a star if you enjoy using it. Thank you for helping make this project better! ## ⭐ Support the Project @@ -180,4 +178,4 @@ This project is licensed under the MIT License. See the [LICENSE](https://github --- -> ⚠️ This tool is provided for educational and personal use only. Please ensure your usage complies with Deezer’s Terms of Service. \ No newline at end of file +> ⚠️ This tool is provided for educational and personal use only. Please ensure your usage complies with Deezer’s Terms of Service.