Releases: dolfinus/setuptools-git-versioning
v3.1.0 (2026-05-15)
Features
-
Added a dynamic-metadata provider compatible with scikit-build-core. (#130)
Thanks to @ktbarrett.
-
Add support for git archive builds via a tracked .git_archival.txt file. (#131)
When the file is present and its
$Format:...$placeholders have been substituted, the version is derived from its contents instead of running git. See Supporting git archive builds.Thanks to @ktbarrett.
v3.0.1 (2026-01-16)
Bug Fixes
Fix OSErrorr exception raised if using setuptools-git-versioning in system without git installed (#126).
Thanks to @jeffawang.
v3.0.0 (2026-01-16)
Breaking
- Make most of args in
version_from_gitkeyword-only. - Change return type of
version_from_gitandinfer_versionfromstrtopackaging.version.Version. - Timestamps in version templates are now timezone-aware.
Refactoring
- Split
setuptools_git_versioning.pyinto smaller set of files. - Do not use
Popen(shell=True)anymore. - Switch from
setup.pytopyproject.toml. - Switch from
piptouv, use lock files. - Switch from
black+isort+pyupgradetoruff format. - Switch from
flake8toruff. - Switch from
pre-committoprek.
Bug Fixes
- Fix calling
get_version(root=...)in combination with version-file strategy -
relative file version was resolved againstos.cwd, not explicitly passedroot. - Fix epoch versions like
0!2025.12.3were wrongly converted to0.2025.12.3(#122). - Using version_file-based schema with shallow git clone lead to version numbers like
1.2.3.postNone, now it is1.2.3.post0(#104).
v2.1.0
general
- [feature] Test Python 3.13 compatibility
dependency
-
[bugfix] Replace outdated
tomlpackage with moderntomli. Thanks to @graingertReferences: #108
v2.0.0
core
-
[breaking] Drop
get_branch_tagsfunction which was deprecated since1.8.0. -
[breaking]
version_fileoption now have precedence over any tags in the current branch.
config
-
[breaking] Drop
version_configkeyword fromsetup.py, which was deprecated since1.8.0. -
[breaking] Does not allow passing
setuptools_git_versioning=Falseandsetuptools_git_versioning=Trueto config.
Always usesetuptools_git_versioning={"enabled": True}.
v1.13.6
v1.13.5
v1.13.4
v1.13.3
v1.13.2
docs
-
[feature] Recommend users to use file-based schema instead of tag-based due some cases.
-
[feature] Add small example of
.gitignorefile to common issues section. Thanks to @aram-eskandariReferences: #17
-
[feature] Improve examples of fetching package version in runtime.
References: #55