All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Calendar Versioning. The first number of the version is the year. The second number is incremented with each release, starting at 1 for each year. The third number is for emergencies when we need to start branches for older releases, or for very minor changes.
This release stabilizes the core mechanics of the template, including environment setup and synchronization, CI/CD workflows, documentation and tests, and more. The template now wraps uv run
in ./dev.ps1
as Invoke-Uv
, aliased to iuv
, which keeps environment variables and hooks in sync in addition to the syncing done by uv
itself.
- Restructure template as a modern
uv
project with workspace layout and lockfiles - Add TOML and Prettier formatting to
pre-commit
- Introduce
Invoke-Uv.ps1
andiuv
alias which wrapsuv run
, but also syncs submodules, environment variables, ensures pre-commit hooks are installed - Have
Invoke-Uv.ps1
also work correctly in CI, invoking--locked
and--frozen
when appropriate and generating artifacts for inspecting the packages installed in CI runs - Transition Renovate dependency management to maintain PEP 621 requirements in
pyproject.toml
by automatically re-locking withuv
- Simplify CI pipelines, don't commit during them, allowing this template to function in repos where
main
has push protection - Leverage
uv
's Python executable management to avoid having to install it - Finalize the complete machine setup scripts for Windows, Linux, and MacOS
- Fix Codecov integration (#437)
- Elevate Pyright warnings to errors in CI (37d079c5)
- Generate appropriate coverage report format for Codecov (c22b475b)
- Handle locked submodule configs (75d4cb02)
- Only run coverage in task and CI, not in VSCode test runner (Fixes #447) (bb19a367)
- Remove Pylance bundled stubs instead of synchronizing
submodules/typings
(8579ca8c) - Require docs build to pass before updating lock (Fixes #445) (1d78af44)
- Run winget more safely and facilitate commit-pinned changelog entries.
- Require
exact
andwinget
source, and run winget silently for safter Windows machine initialization. - Add task for timestamped ad-hoc/orphan changelog entries. 34dede3f
- Single-source Pylance version (5e878127)
- Make first release
- Actually compare directs (#397)
- Specify automation profile (#406)
- Fix splatting in Windows install script in contributing guide (#413)
- Fix
sync.py
forlock.json
existing but empty (#415) - Fix
powershell
invocation for paths containing spaces (#416) - Produce an output
requirements.txt
with all requirements (#417) - Mitigate CVE-2024-37891 by setting
urllib3>=2.2.2
(#421) - Add changelog entry step to contribution flow (#423)
- Added towncrier
- Fix
changerelease
workflow and reduce duplication