alunduil / alunduil/zfs-replicate
Python 3.8 and 3.9 support is removed from the support matrix
- 主要语言
- Python
- 星标
- 24
- 派生
- 6
- 平均合并
- 3 小时 11 分钟
- 30 天内合并 PR
- 49
描述
## User story
As a **maintainer**, I want to **drop support for Python versions that are past upstream EOL** so that **I can use modern language features (PEP 604 unions, `StrEnum`, structural pattern matching, `typing.Self`) without compatibility shims**.
## Why
Python 3.8 reached EOL 2024-10; 3.9 reaches EOL 2025-10. Keeping them in the CI matrix costs maintenance and blocks language-level simplifications called out throughout the modernization assessment. Dropping supported Python versions is the canonical trigger for a SemVer major bump for a Python distribution.
## Acceptance criteria
- [ ] `pyproject.toml` sets `python = "^3.10"` (or later, if the team prefers 3.11+).
- [ ] The Python classifiers list is updated to drop 3.8 and 3.9.
- [ ] `.github/workflows/pytest.yml` and `.github/workflows/scripts.yml` (or the consolidated CI workflow) drop 3.8 and 3.9 from the matrix.
- [ ] `typing.Optional[X]` / `typing.List[X]` / `typing.Dict[K, V]` are migrated to PEP 604 / PEP 585 (`X | None`, `list[X]`, `dict[K, V]`). Tooling allowed: Ruff's `UP` ruleset handles most of this automatically.
- [ ] `# type: ignore[misc]` comments on `click` decorators are re-evaluated against current `click` + `mypy`; those that become unnecessary are removed.
- [ ] CHANGELOG entry under "Removed".
- [ ] README "Prerequisites" section updated.
## Out of scope
- Other breaking changes bundled in the same major release (those get their own issues).
## Notes
- Target release: **v5.0.0** (major — support-matrix change)
- Source: modernization assessment §3.10, §3.11.
贡献指南
评估
这个 Issue 还没有评估数据。