Changelog
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.
This project uses towncrier.
2025.12.10.1
Changed
- Rename release jobs.
2025.12.10
Changed
- Bump astral-sh/setup-uv from 6 to 7.
- Install
noxinstead ofnox[uv]as uv is already installed. - Run CI on tags.
- Run
uv buildto build Python package distributions. - Run checks and tests in parallel in CI.
- Use Python 3.14 to install Nox in CI.
- Use Python 3.14 to install tox in CI.
- Use
nullfor null values in YAML.
2025.12.9
Removed
- Remove unnecessary setting
site_dir: sitefrommkdocs.yml.
Added
- Add an option to use Zensical.
- Add icons to MkDocs documentation pages.
- Add the license text to the documentation.
Changed
- Edit theme features for MkDocs.
- Remove heading in
docs/reference/cli.md. - Remove unused patterns from
.gitignoreand add comments. - Switch to Calendar Versioning
YYYY.MM.DD.MICRO. - Use mkdocs-click to create the CLI reference.
Fixed
- Remove the CLI reference from the MkDocs documentation when the project does not provide
console_scriptsentry points.
5.0.0
Removed
- Remove unnecessary pre-commit hooks.
Added
- Add pre-commit hook to check documentation sources.
Changed
- Add mkdocstrings-python to the
docsdependency group and set its lower version boundary to 2.0.0. - Bump the lower version boundary for Black to 25.11.0.
- Bump the lower version boundary for Click to 8.3.0.
- Bump the lower version boundary for Material for MkDocs to 9.7.0.
- Bump the lower version boundary for Towncrier to 25.8.0.
- Bump the lower version boundary for Typer to 0.20.0.
- Bump the lower version boundary for pre-commit to 4.5.0.
- Bump the lower version boundary for pytest-xdist to 3.8.0.
- Refactor the reference section of the MkDocs documentation.
- Remove syntax highlighting for commands.
- Rename the MkDocs configuration file from
mkdocs.yamltomkdocs.yml. - Turn on
show_root_heading,type_parameter_headingsandshow_signature_type_parametersfor mkdocstrings-python. - Update pre-commit hooks.
Fixed
- Add TOML support for Coverage.py.
4.11.0
Changed
- Improve
scripts/release.py. It can now pass arguments or options touv versionand create GitHub releases. - Remove the trailing slash from the documentation URL.
4.10.0
Removed
- Remove the short version flag
-Vfor all command-line interfaces. - Stop formatting documentation sources.
Changed
- Bump the lower version boundary for Cyclopts to 4.0.0.
- Bump the lower version boundary for pytest to 9.0.0.
- Make Cyclopts applications return an exit code.
- Update pre-commit hooks.
- Use
[tool.pytest]to provide pytest settings and turn on the new strict mode. - Use
typer.echoto print the version. - Use blacken-docs to format Python code blocks in documentation files.
4.9.0
Changed
- Remove
if __name__ == "__main__":from__main__.py. - Stop turning warnings into errors when serving the documentation locally.
- Use raw strings in
mkdocs.yaml.
4.8.0
Changed
- Turn off live logs when running tests.
4.7.0
Changed
- Format
pyproject.toml. - Stop reading
VERSION.txtto set the version attribute.
4.6.0
Changed
- Update pre-commit hooks.
4.5.0
Changed
- Add
.gitignoreto the package root to ignoreVERSION.txt. - Bump the lower version boundary for Coverage.py to 7.11.0.
- Edit docstring in
scripts/release.py.
Fixed
- Fix command in Nox session
typecheck.
4.4.0
Changed
- Rename dependency group
testsintotest.
4.3.0
Added
- Run tests under Python 3.14.
Changed
- Drop support for Python 3.9 and add support for Python 3.14.
4.2.0
Changed
- Make Nox raise an error on missing interpreters in CI.
- Use the default cache dependency glob for
astral-sh/setup-uv.
4.1.3
Fixed
- Remove an unused
noqadirective inscripts/release.pywhen the project version is provided dynamically.
4.1.2
Fixed
- Remove an unused import in
scripts/release.pywhen the project version is provided dynamically.
4.1.1
Fixed
- Add the project description to
README.md.
4.1.0
Changed
- Rename the
print_errorfunction toprint_errinscripts/release.py.
4.0.0
Security
- Set a lower version boundary for uv to create Nox sessions and tox environments.
Removed
- Stop checking package distributions.
Changed
- Bump the lower version boundary for uv-build to 0.8.6.
- Change the default build backend to uv-build.
- Create a function to install dependencies with
uv syncinnoxfile.py. - In Nox sessions, set
COVERAGE_FILEif it is not set yet. - Refactor typechecking tasks into one task.
- Rename local variable in
scripts/release.py. - Use command-line options to install dependency groups.
Fixed
- Install the package in editable mode to build the documentation.
3.1.1
Changed
- Sort version flags for Cyclopts CLIs.
3.1.0
Changed
- Add minor changes to
README.mdand update the documentation homepage with the contents ofREADME.md. - Update the release script
scripts/release.py.
3.0.0
Added
- Add badges to
README.md.
Changed
- Allow Ruff to add
from __future__ import annotationsto enable the deferred evaluation of annotations. - Import the extension loader from
copier_template_extensionsinstead ofcopier_templates_extensions.
2.4.0
Added
- Add the description to
README.md.
Changed
- Shorten URLs.
2.3.0
Added
- Add badges to
README.md. - Add badges to the documentation homepage.
Changed
- Bump actions/checkout from 4 to 5.
- Bump actions/download-artifact from 4 to 5.
- Bump astral-sh/setup-uv from 5 to 6.
- Update pre-commit hooks.
2.2.0
Changed
- Capitalize
Project-URLlabels inpyproject.toml.
2.1.0
Security
- Bump the lower version boundary for uv to 0.8.6.
Added
- Add license and requirements to the documentation.
- Start a new dynamic coverage context for each test function.
Changed
- Edit descriptions in
tox.tomlandnoxfile.py. - Update pre-commit hooks to their latest versions.
2.0.0
Added
- Add an option to use Cyclopts.
Changed
- Bump the lower version boundary for Typer to 0.16.
- Require Copier Template-Extensions to generate projects.
- Rewrite the quick setup and usage guide.
- Sort CLI options in source code and tests.
1.5.0
Changed
- Add Git user information to globals during generation.
- Stop creating reports for test runs.
- Stop using pytest-cov and require Coverage.py 7.10 or more.
Fixed
- Always install uv to run Nox sessions.
1.4.0
Added
- Add Towncrier to the
releasedependency group.
Changed
- Use pre-commit instead of pre-commit-uv.
1.3.0
Changed
- Drop the legacy alias for Ruff's lint hook.
- Manage
scripts/release.pyusing inline metadata. - Remove the upper version boundary for uv-build.
- Update pre-commit hooks.
1.2.1
Fixed
- Prevent coverage warnings for unclosed SQLite connections being raised as errors.
1.2.0
Added
- Print log records with
INFOor higher level to the console during testing.
Changed
- Stop setting the log level to
INFOduring testing.
1.1.1
Fixed
- Fix the extension of the version test.
1.1.0
Changed
- Add hatch-vcs to default Hatch plugins.
- In pytest options, write the minimum log message level that should be captured for logging capture in uppercase.
- Parse the target version as an argument in
scripts/release.py. - Remove
mkdocs.yamlfrom the watch list. - Remove unnecessary pytest option for coverage (see https://pytest-cov.readthedocs.io/en/latest/xdist.html).
- Rename
build_backendtobackend. - Update pre-commit hooks to their latest versions.
- Use our own settings for code coverage.
- Use single quotes in commands.
Fixed
- Add missing comma in
noxfile.py. - Fix sources to measure coverage for.
- Fix variable name in
noxfile.py. - Removed unused import in
noxfile.py:from nox.command import CommandFailed.
1.0.0
Added
- Initial release.