v0.5.3 — PyPI publish fix (twine direct + BOM strip)
What's Fixed
PyPI Publish Workflow — BOM Corruption Fix
- Root cause: GitHub Secret
PYPI_API_TOKENgets a BOM character (\ufeff) injected when passed through thepypa/gh-action-pypi-publishDocker container, causingUnicodeEncodeError: 'latin-1' codec can't encode character '\ufeff'. - Fix: Replaced the Docker-based
pypa/gh-action-pypi-publishaction with directtwine upload+ Python BOM stripping workaround. - The workflow now:
- Strips BOM from the token if present
- Verifies token starts with
pypi- - Uses
twine uploaddirectly (no Docker container)
Other Changes
- Version bumped from 0.5.2 → 0.5.3
- Removed stale
# -*- coding: utf-8 -*-from source files - Trailing whitespace cleanup in
output.py
Full Changelog: v0.5.2...v0.5.3