Changelog#

2.0#

2.0.0#

Released: 08.04.2024

core#

  • [breaking]

    Drop get_branch_tags function which was deprecated since 1.8.0.

  • [breaking]

    version_file option now have precedence over any tags in the current branch.

    References: #94, #97

config#

  • [breaking]

    Drop version_config keyword from setup.py, which was deprecated since 1.8.0.

  • [breaking]

    Does not allow passing setuptools_git_versioning=False and setuptools_git_versioning=True to config. Always use setuptools_git_versioning={"enabled": True}.

1.13#

1.13.6#

Released: 30.01.2024

general#

  • [feature]

    Test Python 3.12 compatibility

  • [feature]

    Remove useless warning if tag_filter, tag_formatter or branch_formatter is a regexp instead of function reference.

    References: #93

1.13.5#

Released: 08.08.2023

dependency#

1.13.4#

Released: 31.07.2023

general#

  • [feature]

    Test PyPy 3.10 support

docs#

  • [feature]

    Update documentation to mention shallow clone issues.

    References: #83

ci#

  • [feature]

    Push release using Trusted publishers feature of PyPI.org

1.13.3#

Released: 14.03.2023

docs#

  • [bugfix]

    Move zip-safe option to tool.setuptools section of pyproject.toml.

    Thanks to @cclecle

    References: #78

1.13.2#

Released: 26.02.2023

docs#

  • [feature]

    Recommend users to use file-based schema instead of tag-based due some cases.

    References: #75, #77

  • [feature]

    Add small example of .gitignore file to common issues section. Thanks to @aram-eskandari

    References: #17

  • [feature]

    Improve examples of fetching package version in runtime.

    References: #55

1.13.1#

Released: 13.11.2022

general#

  • [feature]

    Build and publish sdist package again

    References: #49, #72

  • [bugfix]

    Allow to install package from .tar.gz without --no-build-isolation flag

    References: #49, #72

dependency#

  • [bugfix]

    Get rid of deprecated package dependency

    References: #72

ci#

  • [feature]

    Publish development releases to Test PyPI

  • [feature]

    Use pypa/gh-action-pypi-publish Github action to publish releases to PyPI

  • [bugfix]

    Remove local part of version because it is not allowed in PyPI

1.13.0#

Released: 01.11.2022

core#

dependency#

  • [feature]

    For Python 3.11 use built-in tomllib instead of toml package

docs#

  • [feature]

    Add documentation about fetching package version in runtime

    References: #55

  • [feature]

    Add description for some functions

1.12#

1.12.1#

Released: 24.10.2022

core#

  • [bug]

    Make version sanitization less strict, allow to automatically convert some cases, e.g. 1.0.0+feature/abc to 1.0.0+feature.abc

    References: #67

1.12.0#

Released: 13.10.2022

core#

  • [breaking]

    Sanitize starting_version according PEP 440

  • [breaking]

    Do not remove leading non-numeric symbols from version number (except v)

1.11#

1.11.0#

Released: 02.10.2022

core#

  • [breaking]

    Raise error if pyproject.toml exists, but is not a file

  • [feature]

    Allow setuptools-git-versioning script to infer version from setup.py if pyproject.toml is missing

    References: #58

  • [feature]

    Add cwd argument to most of functions, allowing to get versions of a specific repo without changing current directory

docs#

  • [feature]

    Add documentation for setuptools-git-versioning script

    References: #58

tests#

  • [refactoring]

    Use builtin type annotations (instead of type comments) in tests/lib/util.py, use modern annotations syntax (type | None instead of Optional[type])

dev#

  • [feature]

    Add info and debug messages to the module

1.10#

1.10.1#

Released: 03.09.2022

core#

  • [feature]

    Add setuptools-git-versioning script to infer version from pyproject.toml config

    References: #58

  • [feature]

    Check Python 3.11 support

1.10.0#

Released: 18.07.2022

core#

  • [breaking]

    version_callback option is used even if there are some tags in the current branch

    References: #56

  • [feature]

    Remove all non-numeric symbols from version prefix, not just v

config#

1.9#

1.9.2#

Released: 21.03.2022

general#

  • [no_tags]

    Add setup_requires item to setup.py

    References: #49

1.9.1#

Released: 21.03.2022

general#

  • [no_tags]

    Remove pyproject.toml file from .tag.gz package

    References: #49

1.9.0#

Released: 21.03.2022

general#

  • [breaking]

    Drop Python 2.7, 3.5 and 3.6 support. Minimal supported Python version is now 3.7

core#

  • [feature]

    Do not fail on toml and packaging modules import while installing setuptools-git-versioning from tag.gz file

    References: #49

ci#

  • [bug]

    Fix creating multiple releases for the same tag

1.8#

1.8.1#

Released: 10.01.2022

core#

  • [bug]

    Fix issue with empty pyproject.toml

    References: #35

1.8.0#

Released: 07.01.2022

general#

  • [breaking]

    Drop Python 3.3 and 3.4 support

    References: pull request 37

  • [deprecated]

    Python 2.7, 3.5 and 3.6 support is deprecated due to their end of life.

core#

  • [deprecated]

    get_branch_tags function is renamed to get_tags.

    It will be removed in 2.0.0 release. A warning message is added

  • [feature]

    Add support of reading config from pyproject.toml.

    Thanks to @Bloodmallet

    References: #35, pull request 37

  • [feature]

    Allow to pass regexp to branch_formatter option

  • [feature]

    Add tag_formatter option

    References: #31

  • [feature]

    Allow nested default values to be passed to env substitution

config#

  • [deprecated]

    version_config keyword in setup.py is renamed to setuptools_git_versioning.

    It will be removed in 2.0.0 release. A warning message is added

  • [deprecated]

    Prefer using "enabled": True / "enabled": False option instead of pure boolean values (True, False) for config.

    Old behavior is deprecated and will be removed in 2.0 version. A warning message is added

docs#

  • [feature]

    Major docs improvement

  • [feature]

    Added CHANGELOG.rst

  • [no_tags]

    Add miniver and versioningit to comparison table

ci#

  • [feature]

    Check test coverage and fail if it has been decreased

  • [feature]

    Build docs using ReadTheDocs project

tests#

  • [feature]

    Add integration tests

1.7#

1.7.4#

Released: 31.10.2021

ci#

  • [feature]

    Change release workflow action from actions/create-release@v1 to softprops/action-gh-release@v1

1.7.3#

Released: 31.10.2021

ci#

  • [feature]

    Change release workflow action from actions/create-release@v1 to softprops/action-gh-release@v1

1.7.2#

Released: 28.10.2021

core#

  • [feature]

    String leading ‘v’ symbol from tag name

    References: #29

1.7.1#

Released: 28.10.2021

core#

  • [feature]

    String leading ‘v’ symbol from tag name

    References: #29

1.7.0#

Released: 21.09.2021

core#

  • [feature]

    Add support of env variables substitution

  • [feature]

    Add support of timestamp substitution

1.6#

1.6.1#

Released: 16.09.2021

core#

  • [bug]

    Fix sorting for annotated tags

    References: #23

1.6.0#

Released: 15.09.2021

core#

  • [bug]

    Sort tags by commit date instead of name

    References: #22

ci#

  • [feature]

    Add automerge action for precommit-ci bot

  • [bug]

    Fix skipping duplicated runs

  • [bug]

    Fix tests workflow

  • [bug]

    Fix release pipeline

1.5#

1.5.0#

Released: 16.08.2021

docs#

  • [feature]

    Add resolution for issue when all versions produced by CI pipeline are dirty

    References: #17, pull request 16

  • [no_tags]

    Add setuptools-scm and versioneer to comparison table

    References: #15

ci#

  • [feature]

    Skip duplicated Github Actions runs

dev#

  • [feature]

    Add pre-commit hooks and commit changes made by it

1.4#

1.4.0#

Released: 12.05.2021

core#

ci#

  • [bug]

    Use absolute paths in setup.py

dev#

1.3#

1.3.6#

Released: 12.03.2021

general#

  • [bug]

    Update package short description

  • [no_tags]

    Set license in setup.py file

1.3.5#

Released: 12.03.2021

docs#

  • [feature]

    Add license column into comparison table

  • [bug]

    Fix comparison table typo

1.3.4#

Released: 12.03.2021

docs#

  • [feature]

    Add list of supported substitutions into comparison table

  • [no_tags]

    Add bad-setuptools-git-version and another-setuptools-git-version to comparison table

1.3.3#

Released: 12.03.2021

core#

1.3.2#

Released: 12.03.2021

docs#

  • [bug]

    Fix minor typos in documentation

1.3.1#

Released: 12.03.2021

core#

  • [bug]

    Replace default suffix for dev and dirty versions from dev to post

    References: #10

docs#

  • [feature]

    Add Windows support column into comparison table

    References: #8

  • [feature]

    Major documentation update

    References: #10

ci#

  • [bug]

    Fix Github Actions

1.3.0#

Released: 01.03.2021

core#

  • [feature]

    Add full_sha substitution support

    References: #9

1.2#

1.2.10#

Released: 04.02.2021

core#

  • [bug]

    Fix Windows compatibility

    References: #8

ci#

1.2.9#

Released: 20.01.2021

ci#

1.2.8#

Released: 29.11.2020

docs#

1.2.7#

Released: 24.11.2020

core#

1.2.6#

Released: 07.10.2020

core#

  • [bug]

    Fix version detection in case of missing .git folder

1.2.5#

Released: 30.09.2020

dependency#

  • [bug]

    Fix Python 2.7 dependencies

1.2.4#

Released: 30.09.2020

dependency#

  • [bug]

    Fix Python 2.7 dependencies

1.2.3#

Released: 16.09.2020

core#

  • [feature]

    Add get_all_tags function

  • [feature]

    Add get_branch_tags function

1.2.2#

Released: 14.09.2020

core#

  • [bug]

    Fix building version from VERSION file

1.2.1#

Released: 10.09.2020

core#

  • [feature]

    Add count_commits_from_version_file option

1.2.0#

Released: 10.09.2020

core#

  • [feature]

    Add version_file option

1.1#

1.1.14#

Released: 10.09.2020

core#

  • [feature]

    Add version_callback option

1.1.13#

Released: 21.08.2020

ci#

  • [bug]

    Use six module for accessing collections.abc

    References: #4

1.1.12#

Released: 20.08.2020

ci#

  • [bug]

    Fix package name misspell

    References: #4

1.1.11#

Released: 18.08.2020

dependency#

  • [bug]

    Remove flake8 from requirements.txt

1.1.10#

Released: 18.08.2020

dependency#

  • [bug]

    Make setuptools version check less strict

1.1.9#

Released: 17.08.2020

general#

  • [feature]

    Test Python 3.9 support

ci#

  • [bug]

    Include requirements.txt into .tar.gz file

    References: #3

1.1.8#

Released: 14.08.2020

general#

  • [feature]

    Add Python 3.3 and 3.4 support

1.1.7#

Released: 10.08.2020

ci#

  • [bug]

    Fix TravisCI deploy

1.1.6#

no release date

core#

  • [feature]

    Add backward compatibility with git < 2.2

docs#

  • [feature]

    Add supported python versions badge

1.1.5#

Released: 07.08.2020

core#

1.1.4#

Released: 07.08.2020

core#

  • [feature]

    Add branch substitution support

1.1.3#

Released: 30.07.2020

core#

  • [feature]

    Add starting_version option

ci#

  • [bug]

    Fix TravisCI build

1.1.2#

Released: 29.07.2020

dependency#

  • [bug]

    Fix requirements.txt

ci#

  • [bug]

    Fix Python 2 version build

1.1.1#

no release date

general#

  • [feature]

    Change package name to setuptools-git-versioning and publish it on PyPi.org

1.1.0#

no release date

general#

core#

  • [feature]

    Added Python2 support.

    Typehints moved to comments section. Python 3 syntax replaced with Python 2 compatible one

  • [feature]

    Make internal functions public

  • [feature]

    Add get_tags method