You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ported the project from a single Bash script to a Python package with the raiplaysound-cli entry point, preserving the list and download
workflows, the existing dot-config file format, and the same download/output
directories.
Replaced the custom ANSI progress renderer with a Rich-based live transfer
display for episode downloads.
Updated the repository workflow, Makefile, and agent guidance for a
Python-only architecture.
Split the Python implementation into focused modules, added stale-lock
recovery for interrupted download runs, corrected metadata cache validation,
and aligned the overall Rich progress bar with episode-count semantics.
Standardized Python development checks around ruff, black, and mypy.
Changed the Makefile install workflow to match cligoo: standalone installs
now live under ~/.local/share/raiplaysound-cli/venv with the CLI exposed at ~/.local/bin/raiplaysound-cli, while install-dev points that same command
at the project .venv for editable development.
Tightened the Makefile workflow further toward cligoo by moving dev setup
to pip install -e ".[dev]", adding make run, and making prerequisite
checks validate Python 3.10+ explicitly.
Added an explicit README disclaimer clarifying that the project is
independent from RAI and RaiPlaySound and that station/program names remain
the property of their respective owners.
Avoided creating download directories during list-only commands.
Made RSS and playlist generation fall back to filename-derived metadata when
multiple cached episodes share the same publication date, avoiding
misassigned titles and GUIDs.
Expanded the default Markdown lint target so documentation under docs/ is
validated by make lint.
Clarified the RSS documentation and sample config so RSS_BASE_URL is
documented as a direct file-serving base URL, with generic valid and invalid
URL shapes instead of provider-specific examples.
Added an RSS validation step to the testing guide so users and agents can
confirm generated enclosure URLs resolve correctly.
Added
Added a packaged Python CLI implementation under src/raiplaysound_cli/.
Added a Python test suite covering config parsing and core selection and
normalization helpers.
Expanded regression coverage with tests for CLI entrypoints, RSS/playlist
generation, downloader progress parsing, and mocked RaiPlaySound discovery
flows.
Added docs/TESTING.md to document the test suite and validation workflow
for both users and AI agents.
Removed
Removed the legacy Bash entrypoint and the old Bash-only project constraints.