Skip to content

v0.4.8

Choose a tag to compare

@Harmonese Harmonese released this 22 May 14:11
· 6 commits to main since this release

[0.4.8] - 2026-05-22

Added

  • Added a repository test suite covering CLI command entry points, upload and download workflows, LRCLIB client/publish retry behavior, lyric parsing and matching, metadata parsing, filesystem helpers, and interactive prompts.
  • Added coverage to the development extra so the documented coverage commands work after pip install -e ".[dev]".
  • Added project logo assets under docs/assets/ and embedded the logo lockup in the README.
  • Added PyPI, Python version, and license badges to the README.
  • Added configurable cleanse rules via CleanseOptions.
  • Added --keep-headers, --keep-credits, --keep-translations, and --keep-instrumental-marker to both cleanse and upload-time up --cleanse workflows.

Changed

  • Reworked the README into a user-facing guide with installation, quick start, command workflows, YAML metadata, environment variables, language settings, and development checks.
  • Updated the README introduction so the first sentence matches the PyPI project description.
  • Changed up --cleanse from a compatibility flag into real upload-time behavior: it now controls in-memory LRC normalization, while --cleanse-write writes normalized content back to matched files before upload.
  • Changed local LRC loading so uploads preserve raw .lrc content unless --cleanse, -m/--match, or -d/--default enables cleansing.
  • Updated cleanse and up help text in English and Chinese to document cleanse keep flags and upload-time cleansing behavior.
  • Stopped ignoring the tests/ directory and ignore local .coverage output during development.

Fixed

  • Fixed doctor's missing Path import exposed by ruff.
  • Removed unused imports from API, lyrics writer, loader, and config tests so ruff check . passes cleanly.