- Trigger on both push to main and v* tags
- Use tag name for version when pushing tags (e.g., v2.0.0)
- Auto-generate version for branch pushes
- Tag releases are stable, branch releases are prerelease
- Trigger release workflow on push to main branch
- Auto-generate version from date + commit hash (e.g., v2026.03.10-abc1234)
- Delete previous draft releases to avoid accumulation
- Publish releases automatically (not as drafts)
- Mark releases as prerelease
chore: add uv.lock to gitignore
Major changes:
- Add type hints and docstrings to all functions (PEP 484)
- Add __main__.py for module execution (python -m genpass)
- Expose public API in __init__.py
- Add config file support (~/.genpass/config.json)
- Add entropy calculation (--entropy)
- Add clipboard support (--clipboard/-c)
- Add ambiguous characters exclusion (--no-ambiguous)
- Add output formats: plain, json, delimited (--format)
- Add sensible defaults (all character types enabled by default)
- Add input validation for length and count
- Update shell completions for all new options
- Add pre-commit config with ruff, mypy, black
- Update pyproject.toml with dev dependencies and tool configs
- Add requirements.txt and requirements-dev.txt
- Update README.md with comprehensive examples
BREAKING CHANGE: Default behavior now includes all character types