Versioningit

Latest version: v3.1.2

Safety actively analyzes 702602 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

2.2.0

-------------------
- The custom setuptools command classes can now be imported directly from the
`versioningit.cmdclass` module as an alternative to calling
`get_cmdclasses()`

2.1.0

-------------------
- Drop support for Python 3.6
- Support Python 3.11
- Use `tomllib` on Python 3.11

2.0.1

-------------------
- Don't run the `onbuild` step under setuptools' upcoming PEP 660 editable mode
(contributed by [abravalheri](https://github.com/abravalheri))

2.0.0

-------------------
- 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 to `Versioningit.do_format()`
and `format` method callables has been renamed to `base_version`.
- A `{version_tuple}` field, along with the fields available in the `format`
step, is now available for use in templates in the `write` and `onbuild`
steps.
- New step and subtable: "template-fields"
- **Breaking**: The `version` arguments passed to
`Versioningit.do_write()`, `Versioningit.do_onbuild()`, `run_onbuild()`,
and `write` & `onbuild` method callables have been replaced with
`template_fields` arguments
- Added a `get_template_fields_from_distribution()` function for use by
callers of `run_onbuild()`
- `Versioningit.get_version()` now takes optional `write` and `fallback`
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.
- Prevent log messages from being printed twice under recent versions of
setuptools
- Values supplied for the `require-match` parameters of the `tag2version` and
`onbuild` 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 the `SOURCE_DATE_EPOCH` spec, and was even
applied when `SOURCE_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

1.1.2

-------------------
- Backport "Don't run the `onbuild` step under setuptools' upcoming PEP 660
editable mode" from v2.0.1 (contributed by
[abravalheri](https://github.com/abravalheri))

1.1.1

-------------------
- Do not import setuptools unless needed (contributed by
[jenshnielsen](https://github.com/jenshnielsen))

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.