Repository navigation
Releases: Postmodum37/beacon-dl
Release list
v0.5.0 - Scene-Style Naming
Scene-Style Video Naming
This release introduces proper scene-style naming conventions for downloaded videos.
New Filename Format
Critical.Role.S04E07.On.the.Scent.1080p.BCTV.WEB-DL.AAC2.0.H.264-Pawsty.mkv
Key Changes
- Display Name Mapping: Collection names like "Campaign 4" now map to "Critical.Role"
- BCTV Service Tag: Identifies BeaconTV as the source (like AMZN, NF, DSNP)
- Configurable Release Group: Default is "Pawsty", configurable via
RELEASE_GROUPenv var - Updated Rename Command: Converts old format files to new scene-style format
Show Name Mapping
| Collection | Display Name |
|---|---|
| Campaign 1-4 | Critical.Role |
| Candela Obscura | Candela.Obscura |
| 4-Sided Dive | 4-Sided.Dive |
| Exandria Unlimited | Exandria.Unlimited |
| Midst | Midst |
Upgrading Existing Files
Run beacon-dl rename --execute to convert existing files to the new naming format.
Install
uvx beacon-dl --helpv0.4.5
Clear stale browser profile when browser version changes
When Playwright browser is upgraded (e.g., from v1194 to v1200), the old browser profile may be incompatible, causing login timeouts on first run.
Fixed
- Detects when a new browser version is installed
- Automatically clears stale
playwright_profiledirectory - Ensures clean first-run experience after browser upgrades
v0.4.4
Fix browser version mismatch across Playwright versions
Different Playwright versions require different browser versions (e.g. 1.56 needs 1194, 1.57 needs 1200). The previous fix only checked if browser directories existed, not if they matched the current Playwright version.
Fixed
- Now always runs
playwright install chromiumwhich handles version mismatches automatically - The command is idempotent and exits quickly if the correct version is already installed
- Works correctly with
uvx beacon-dlregardless of which Playwright version is resolved
v0.4.3
Fix browser detection for Playwright headless shell
Playwright 1.49+ uses chromium_headless_shell for headless mode. The browser detection was only checking for chromium-* directories, missing the headless shell variant needed when running headless.
Fixed
- Browser auto-install now correctly detects when
chromium_headless_shellis missing uvx beacon-dlnow works on fresh installs by triggering proper browser installation
v0.4.2
Bug Fixes
- Fix TypeError when running
beacon-dlwithout arguments (#missing retry parameter)- When calling download() directly as a Python function from
default_callback, theretryparameter was missing - This caused
typer.Option()to return anOptionInfoobject instead of the default value0 - Error:
unsupported operand type(s) for +: 'OptionInfo' and 'int'
- When calling download() directly as a Python function from
Installation
uvx beacon-dl
# or
uv tool install beacon-dlv0.4.1
Bug Fixes
- Fix linting errors causing CI failure on Python 3.11
- Move
pytestmarkdeclarations after all imports to resolve E402 errors
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's New
Test Suite Modernization
- 73.96% code coverage (up from 57.97%)
- 427 tests across 13 test files
- Shared fixtures in
conftest.pyfor cleaner tests - Parametrized tests for data-driven testing
- Pytest markers for selective test execution:
pytest -m unit(369 tests)pytest -m integration(44 tests)pytest -m security(14 tests)
New Test Coverage
test_content.py- 63 tests for content parsingtest_config.py- 82 tests for Settings validation- Expanded CLI command tests for all 12 commands
Documentation
- Complete CLI command reference (all 12 commands)
- Test suite documentation with structure and patterns
- Development section in README
Full Changelog: v0.3.1...v0.4.0
v0.3.1 - Fix environment variable handling
Bug Fixes
- Fixed pydantic-settings picking up unrelated environment variables (e.g.,
UV_PUBLISH_TOKEN) causing validation errors - Fixed unused imports in test files
Full Changelog
v0.3.0 - uvx Support & Auto-Install
What's New
uvx Support
Run beacon-dl directly without installation:
uvx beacon-dl --help
uvx beacon-dl -u user@example.com -p passwordChromium Auto-Installation
Playwright's Chromium browser is now automatically installed on first run. No more manual playwright install chromium step required.
CI/CD
- Added GitHub Actions CI workflow (tests on Python 3.10-3.12)
- Automated PyPI publishing on release
Changes
- Renamed package from
beacon-tv-downloadertobeacon-dl - Added
browser.pymodule for automatic Chromium detection and installation - Updated documentation with uvx-first installation instructions