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.
- Rename release jobs.
- 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.
- Remove unnecessary setting
site_dir: sitefrommkdocs.yml.
- Add an option to use Zensical.
- Add icons to MkDocs documentation pages.
- Add the license text to the documentation.
- 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.
- Remove the CLI reference from the MkDocs documentation when the project does not provide
console_scriptsentry points.
- Remove unnecessary pre-commit hooks.
- Add pre-commit hook to check documentation sources.
- 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.
- Add TOML support for Coverage.py.
- Improve
scripts/release.py. It can now pass arguments or options touv versionand create GitHub releases. - Remove the trailing slash from the documentation URL.
- Remove the short version flag
-Vfor all command-line interfaces. - Stop formatting documentation sources.
- 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.
- Remove
if __name__ == "__main__":from__main__.py. - Stop turning warnings into errors when serving the documentation locally.
- Use raw strings in
mkdocs.yaml.
- Turn off live logs when running tests.
- Format
pyproject.toml. - Stop reading
VERSION.txtto set the version attribute.
- Update pre-commit hooks.
- 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.
- Fix command in Nox session
typecheck.
- Rename dependency group
testsintotest.
- Run tests under Python 3.14.
- Drop support for Python 3.9 and add support for Python 3.14.
- Make Nox raise an error on missing interpreters in CI.
- Use the default cache dependency glob for
astral-sh/setup-uv.
- Remove an unused
noqadirective inscripts/release.pywhen the project version is provided dynamically.
- Remove an unused import in
scripts/release.pywhen the project version is provided dynamically.
- Add the project description to
README.md.
- Rename the
print_errorfunction toprint_errinscripts/release.py.
- Set a lower version boundary for uv to create Nox sessions and tox environments.
- Stop checking package distributions.
- 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.
- Install the package in editable mode to build the documentation.
- Sort version flags for Cyclopts CLIs.
- Add minor changes to
README.mdand update the documentation homepage with the contents ofREADME.md. - Update the release script
scripts/release.py.
- Add badges to
README.md.
- 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.
- Add the description to
README.md.
- Shorten URLs.
- Add badges to
README.md. - Add badges to the documentation homepage.
- 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.
- Capitalize
Project-URLlabels inpyproject.toml.
- Bump the lower version boundary for uv to 0.8.6.
- Add license and requirements to the documentation.
- Start a new dynamic coverage context for each test function.
- Edit descriptions in
tox.tomlandnoxfile.py. - Update pre-commit hooks to their latest versions.
- Add an option to use Cyclopts.
- 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.
- 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.
- Always install uv to run Nox sessions.
- Add Towncrier to the
releasedependency group.
- Use pre-commit instead of pre-commit-uv.
- 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.
- Prevent coverage warnings for unclosed SQLite connections being raised as errors.
- Print log records with
INFOor higher level to the console during testing.
- Stop setting the log level to
INFOduring testing.
- Fix the extension of the version test.
- 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.
- 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.
- Initial release.