- Incremental now provides a CLI script,
incremental, allowing you to run it withpipx run incremental. Theincremental updatesubcommand offers the same functionality aspython -m incremental.update. (#99) - Incremental now depends on packaging instead of setuptools at runtime (#141)
- Add Python 3.13 and 3.14 to the test matrix. (#179)
- Build Incremental itself with Hatchling, working around failures with certain versions of setuptools (#122)
- Incremental's documentation now highlights its primary features: CalVer and indeterminate versions (NEXT). (#2)
- Incremental's CLI no longer depends on Click, so you no longer need to install
incremental[scripts]for it to function. Thescriptsextra is deprecated. (#99) - Drop support for Python 3.8, which has been end-of-life since October 2024. (#179)
Incremental could mis-identify that a project had opted in to version management.
If a
pyproject.tomlin the current directory contained a[project]table with anamekey, but did not contain the opt-in[tool.incremental]table, Incremental would still treat the file as if the opt-in were present and attempt to validate the configuration. This could happen in contexts outside of packaging, such as when creating a virtualenv. When operating as a setuptools plugin Incremental now always ignores invalid configuration, such as configuration that doesn't match the content of the working directory. (#106)
- Incremental 24.7.0 would produce an error when parsing the
pyproject.tomlof a project that lacked theuse_incremental=Trueor[tool.incremental]opt-in markers if that file lacked a[project]section containing the package name. This could cause a project that only usespyproject.tomlto configure tools to fail to build if Incremental is installed. Incremental now ignores such projects. (#100)
- Incremental can now be configured using
pyproject.toml. (#90) - Incremental now provides a read-only Hatchling version source plugin. (#93)
- Incremental no longer inserts a dot before the rc version component (i.e.,
1.2.3rc1instead of1.2.3.rc1), resulting in version numbers in the canonical format. (#81) - Incremental's tests are now included in the sdist release artifact. (#80)
incremental[scripts]no longer depends on Twisted. (#88)- Support for Python 2.7 has been dropped for lack of test infrastructure. We no longer provide universal wheels. (#86)
- Support for Python 3.5, 3.6, and 3.7 has been dropped for lack of test infrastructure. (#92)
No significant changes.
- Incremental now supports type-checking with Mypy (#69)
- The output of incremental is now compatible with Black (#56, #60)
- Incremental now properly supports PEP 440-compliant dev, rc, post suffixes (#62)
- Incremental now properly supports PEP 440-compliant post releases (#37)
- Incremental will no longer attempt to read git or svn repositories to see if the project is running from a checkout. (#30, #31, #32)
- Comparisons of Versions now compare the lowercased forms of both version packages, rather than being case sensitive. (#23)
- incremental.update now adds a docstring to the autogenerated file. (#18)
- #20
- python -m incremental.update <package> --dev now starts a dev-less package at 0, not 1. (#15)
- Incremental now uses 'rcX' instead of 'pre' for prereleases/release candidates, to match PEP440. (#4)
- If you reference "<yourproject> NEXT" and use python -m incremental.update, it will automatically be updated to the next release version number. (#7)
- #1, #10