From 9c7580d2562e3dd631c54a433b0f849feaf68656 Mon Sep 17 00:00:00 2001 From: Mathis Maquenne <124215603+mathismqn@users.noreply.github.com> Date: Sun, 1 Mar 2026 22:50:54 +0100 Subject: [PATCH] docs: update README and CHANGELOG for v1.4.0 --- CHANGELOG.md | 36 +++++++++++++++++++++++++-- README.md | 70 +++++++++++++++++++--------------------------------- 2 files changed, 60 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c25d332..1552890 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,47 +5,79 @@ 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.4.0] - 2026-03-01 + +### Added + +- Automatic database migration from `~/.godeez/tracks.db` to `~/Music/GoDeez/.tracks.db`. + +### Changed + +- Configuration now uses `DEEZER_ARL` environment variable (replaces `config.toml`). +- Database moved from `~/.godeez/tracks.db` to `~/Music/GoDeez/.tracks.db`. +- Show warning count in download summary. + +### Removed + +- `config.toml` configuration file and `~/.godeez` directory. +- `--config` flag from CLI. +- `secret_key` and `output_dir` configuration options. +- Watcher feature (`watch` subcommands). + +### Fixed + +- Track number zero-padding for correct file sorting. + ## [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 + - 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 + - Set default download quality to **MP3 320kbps**. ### Removed + - 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. ## [1.1.1] - 2025-06-16 ### Fixed + - 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 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 + - 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`. + 👉 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. @@ -53,4 +85,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Initial release of **GoDeez** with basic Deezer album and playlist downloading capabilities. \ No newline at end of file +- Initial release of **GoDeez** with basic Deezer album and playlist downloading capabilities. diff --git a/README.md b/README.md index 1fec687..80bcdae 100644 --- a/README.md +++ b/README.md @@ -37,56 +37,38 @@ To install **GoDeez**, download the latest binary for your platform from the [Re 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.3.0-linux-amd64 /usr/local/bin/godeez +mv godeez-1.4.0-linux-amd64 /usr/local/bin/godeez ``` ## Configuration -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). +**GoDeez** requires a Deezer ARL cookie for authentication. Set it as an environment variable: -Inside this directory: -- `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 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 - -Here are the key variables you need to set in `config.toml`: - -1. `arl_cookie` -* **What is it?**: The `arl_cookie` is a session cookie used for authentication with Deezer. Without this cookie, the downloader cannot access your account to retrieve playlists, albums, or songs. -* **How to retrieve it**: - 1. Open your browser and log in to your Deezer account. - 2. Open the Developer Tools (right-click on the page and select “Inspect” or press F12). - 3. Navigate to the Application tab (in Chrome/Edge) or Storage tab (in Firefox). - 4. In the left panel, look for Cookies and select `https://www.deezer.com`. - 5. Find the arl cookie and copy its value. - -2. `secret_key` -* **What is it?**: The `secret_key` is a cryptographic value used to decrypt Deezer’s media files. -* **How to retrieve it?**: While we cannot provide the specific secret_key in this documentation, it can be found online through various sources or developer communities that focus on Deezer. - -3. `output_dir` (optional) -* **What is it?**: The `output_dir` is the path where downloaded music files will be saved. -* **Default**: If left empty, it defaults to `~/Music/GoDeez`. -* **Note**: Once set, it's recommended not to change it, as this may interfere with the skip system that relies on consistent file paths and hash indexing to detect already downloaded songs. - -### Example - -```toml -# ~/.godeez/config.toml - -arl_cookie = 'your_arl_cookie_here' -secret_key = 'your_secret_key_here' -output_dir = '' # optional +```bash +export DEEZER_ARL=”your_arl_cookie_here” ``` +To make it persistent, add the line above to your shell profile (`~/.bashrc`, `~/.zshrc`, etc.). + +### How to retrieve your ARL cookie + +1. Open your browser and log in to your [Deezer](https://www.deezer.com) account. +2. Open the Developer Tools (right-click on the page and select “Inspect” or press F12). +3. Navigate to the **Application** tab (Chrome/Edge) or **Storage** tab (Firefox). +4. In the left panel, look for **Cookies** and select `https://www.deezer.com`. +5. Find the `arl` cookie and copy its value. + +> **Note:** The ARL cookie may expire after some time. If you get authentication errors, retrieve a fresh cookie using the steps above. + +### Output directory + +Downloaded files are saved to `~/Music/GoDeez`. The download database (`.tracks.db`) is stored alongside your music in the output directory. + +> **Upgrading from v1.3.0?** The `~/.godeez` directory and `config.toml` are no longer used. Set the `DEEZER_ARL` environment variable instead. Your existing database will be migrated automatically on first run. + ## Usage ### CLI Overview @@ -105,8 +87,7 @@ Available Commands: help Help about any command Flags: - --config string config file (default ~/.godeez/config.toml) - -h, --help help for godeez + -h, --help help for godeez Use "godeez [command] --help" for more information about a command. ``` @@ -168,7 +149,8 @@ If you have an idea for improvement, feel free to fork the repository and submit If **GoDeez** helps you enjoy your music collection, please consider giving it a star! **Why star us?** -- Helps more music lovers discover the project + +- Helps more music lovers discover the project - Shows appreciation for the work and motivates development - Takes just one click but means the world to us!