Releases: jwodder/versioningit
Releases · jwodder/versioningit
v3.1.1 — Fix a test
v3.1.0 — Improve some error messages
- When
git describe
fails to retrieve a tag, the resulting log/error message now includes all options passed to the command (based on contribution by @jenshnielsen) - When
hg log
fails to retrieve a tag, the resulting log/error message now includes the tag pattern passed tolatesttag()
, if any
v3.0.0 — Support `onbuild` with Hatch
- Migrated from setuptools to hatch
- Support using the
onbuild
step with Hatch - Breaking: The
build_dir
argument passed toVersioningit.do_onbuild()
andonbuild
method callables has been changed to anOnbuildFileProvider
ABC
v2.3.0 — Hatch support
- Always read
.hg_archival.txt
files using UTF-8 encoding - Added support for using versioningit with Hatch
v2.2.1 — Improve an error and tests
- Raise a
ConfigError
if the selectedtool.versioningit.format
field is not a string - Update tests for pydantic 2.0
- Update tests for Python 3.12
- Support Python 3.12
v2.2.0 — Importable command classes
- The custom setuptools command classes can now be imported directly from the
versioningit.cmdclass
module as an alternative to callingget_cmdclasses()
v2.1.0 — Python updates
- Drop support for Python 3.6
- Support Python 3.11
- Use
tomllib
on Python 3.11
v1.1.2 — Backport 2.0.1 fix
- Backport "Don't run the
onbuild
step under setuptools' upcoming PEP 660 editable mode" from v2.0.1 (contributed by @abravalheri)
v2.0.1 — Don't run `onbuild` in PEP 660 editable mode
- Don't run the
onbuild
step under setuptools' upcoming PEP 660 editable mode (contributed by @abravalheri)
v2.0.0 — `{version_tuple}` write + onbuild placeholder, et alii
- The
{version}
placeholder in the "basic"format
step has been renamed to{base_version}
. The old name remains usable, but is deprecated.- Breaking: The
version
argument passed toVersioningit.do_format()
andformat
method callables has been renamed tobase_version
.
- Breaking: The
- A
{version_tuple}
field, along with the fields available in theformat
step, is now available for use in templates in thewrite
andonbuild
steps.- New step and subtable: "template-fields"
- Breaking: The
version
arguments passed toVersioningit.do_write()
,Versioningit.do_onbuild()
,run_onbuild()
, andwrite
&onbuild
method callables have been replaced withtemplate_fields
arguments - Added a
get_template_fields_from_distribution()
function for use by callers ofrun_onbuild()
Versioningit.get_version()
now takes optionalwrite
andfallback
arguments- The
onbuild
step is no longer run when building from an sdist; the configuration therefore no longer needs to be idempotent - Drop setuptools runtime dependency
- setuptools is only needed for
get_cmdclasses()
, which should only be called in an environment where setuptools is already installed.
- setuptools is only needed for
- Prevent log messages from being printed twice under recent versions of setuptools
- Values supplied for the
require-match
parameters of thetag2version
andonbuild
steps must now actually be booleans; previously, values of any type were accepted and were converted to booleans. - Added a
Versioningit.run()
method that returns a structure containing all intermediate & final values - "git" method:
{author_date}
and{committer_date}
are no longer "clamped" to less than or equal to{build_date}
. This undocumented behavior was based on a misinterpretation of theSOURCE_DATE_EPOCH
spec, and was even applied whenSOURCE_DATE_EPOCH
was not set. - When resolving entry points, if multiple entry points with the given group & name are found, error instead of using the first one returned