docs: update README and CHANGELOG for v1.4.0
This commit is contained in:
+34
-2
@@ -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/),
|
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).
|
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
|
## [1.3.0] - 2025-09-11
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Add new `track` command to download individual songs.
|
- Add new `track` command to download individual songs.
|
||||||
- Add `--genre` flag to fetch and embed genre information into file metadata tags.
|
- Add `--genre` flag to fetch and embed genre information into file metadata tags.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Handle empty media resources gracefully to prevent crashes.
|
- Handle empty media resources gracefully to prevent crashes.
|
||||||
|
|
||||||
## [1.2.0] - 2025-08-18
|
## [1.2.0] - 2025-08-18
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Add new `artist` command to download an artist’s top tracks.
|
- 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 `--limit` flag for the `artist` command to restrict the number of tracks.
|
||||||
- Add `--strict` flag for downloads: fail if the requested quality is unavailable.
|
- Add `--strict` flag for downloads: fail if the requested quality is unavailable.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Set default download quality to **MP3 320kbps**.
|
- Set default download quality to **MP3 320kbps**.
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- Remove `--quality=best` option. Fallback to lower quality is now the default behavior; use the `--strict` flag to prevent fallback.
|
- Remove `--quality=best` option. Fallback to lower quality is now the default behavior; use the `--strict` flag to prevent fallback.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Handle error when `SNG_CONTRIBUTORS` metadata is empty.
|
- Handle error when `SNG_CONTRIBUTORS` metadata is empty.
|
||||||
|
|
||||||
## [1.1.1] - 2025-06-16
|
## [1.1.1] - 2025-06-16
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Restore 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
|
## [1.1.0] - 2025-05-19
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Support downloading full albums and playlists with more than 40 tracks (previous limit removed).
|
- Support downloading full albums and playlists with more than 40 tracks (previous limit removed).
|
||||||
- Fetch and embed **BPM** and **musical key** into metadata tags.
|
- 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.
|
- 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.
|
- Improve CLI **output formatting** for a cleaner and more informative user experience.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Replace the `godeez` file in the user’s home directory with a `.godeez/` directory, which now stores both `config.toml` and `tracks.db`.
|
- 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`.
|
- Simplify `config.toml`: remove the need for `iv` and `license_token`.
|
||||||
- Automatically delete corrupted or incomplete files on download failure.
|
- 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
|
### Added
|
||||||
|
|
||||||
- Initial release of **GoDeez** with basic Deezer album and playlist downloading capabilities.
|
- Initial release of **GoDeez** with basic Deezer album and playlist downloading capabilities.
|
||||||
|
|||||||
@@ -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.
|
3. (Optional) Move the binary to a directory included in `$PATH` for easier access.
|
||||||
|
|
||||||
Example (Linux/macOS):
|
Example (Linux/macOS):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Move the downloaded binary to /usr/local/bin for easy access from anywhere
|
# 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
|
## 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:
|
```bash
|
||||||
- `config.toml`: main configuration file you need to edit manually
|
export DEEZER_ARL=”your_arl_cookie_here”
|
||||||
- `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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
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
|
## Usage
|
||||||
|
|
||||||
### CLI Overview
|
### CLI Overview
|
||||||
@@ -105,8 +87,7 @@ Available Commands:
|
|||||||
help Help about any command
|
help Help about any command
|
||||||
|
|
||||||
Flags:
|
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.
|
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!
|
If **GoDeez** helps you enjoy your music collection, please consider giving it a star!
|
||||||
|
|
||||||
**Why star us?**
|
**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
|
- Shows appreciation for the work and motivates development
|
||||||
- Takes just one click but means the world to us!
|
- Takes just one click but means the world to us!
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user