Changelog
### 8.0.3
```
======
* fix 918 for good - remove external importlib-metadata to avoid source only loop
* fix 926: ensure mypy on python3.8 works with the version file
```
### 8.0.2
```
======
bugfix
------
* fix 919: restore legacy version-file behaviour for external callers + add Deprecation warning
* fix 918: use packaging from setuptools for self-build
* fix 914: ignore the deprecated git archival plugin as its integrated now
* fix 912: ensure mypy safety of the version template + regression test
* fix 913: use 240s timeout instead of 20 for git unshallow
to account for large repos or slow connections
```
### 8.0.1
```
======
bugfix
------
* update version file template to work on older python versions by using type comments
* ensure tag regex from setup.py is parsed into regex
```
### 8.0.0
```
======
breaking
--------
* remove legacy version parser api - config arg always required
* turn Configuration into a dataclass
* require configuration to always pass into helpers
* hide file-finders implementation in private module
* renamed setuptools_scm.hacks to setuptools_scm.fallbacks and drop support for pip-egg-info
* remove trace function and use logging instead
* unify distance=None and distance=0 they should mean the same
and where hiding dirty states that are now explicitly dirty
* depend on later importlib for the full selectable api
* move setuptools integration code to private sub-package
* use normalized dist names for the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_${DIST_NAME}
* drop support for python 3.7
* introduce version_file as replacement for write_to
features
--------
* created a directory for the vcs-versioning package and added it to pypi
* git: expect main as possible default branch
* drop version_from_scm helper
* trim down exposed public api
* no longer self-call twice in setuptools
* add support for version schemes by import
* chores
* migrate own metadata to pyproject.toml
* consolidate version schemes
* stricter tag typing
* pre-compiled regex
* move helpers to private modules
* support passing log levels to SETUPTOOLS_SCM_DEBUG
* support using rich.logging as console log handler if installed
* fix 527: type annotation in default version template
* fix 549: use fallbacks when scm search raises CommandNotFoundError
bugfixes
--------
* fix 883: use HeadersParser to ensure only mime metadata in headers is used
* fix 884: parse calver dates from versions with the v prefix
* don't use a C locale without UTF-8 support, when running commands.
```
### 7.1.0
```
======
* 748: use ``tomllib`` from stdlib
* fix 762: handle non-ascii in setup.cfg
* 752: implement fallback file finders for archives
* 765: removed coding header in python template
* declared Python 3.11 support
* fix 759: update .git_archival.txt templates match
git-describe invocation
* fix 772: fix handling of .git-archival.txt from tagged commit
```
Links
- PyPI: https://pypi.org/project/setuptools-scm
- Changelog: https://data.safetycli.com/changelogs/setuptools-scm/
This PR updates setuptools_scm from 7.0.5 to 8.0.3.
Changelog
### 8.0.3 ``` ====== * fix 918 for good - remove external importlib-metadata to avoid source only loop * fix 926: ensure mypy on python3.8 works with the version file ``` ### 8.0.2 ``` ====== bugfix ------ * fix 919: restore legacy version-file behaviour for external callers + add Deprecation warning * fix 918: use packaging from setuptools for self-build * fix 914: ignore the deprecated git archival plugin as its integrated now * fix 912: ensure mypy safety of the version template + regression test * fix 913: use 240s timeout instead of 20 for git unshallow to account for large repos or slow connections ``` ### 8.0.1 ``` ====== bugfix ------ * update version file template to work on older python versions by using type comments * ensure tag regex from setup.py is parsed into regex ``` ### 8.0.0 ``` ====== breaking -------- * remove legacy version parser api - config arg always required * turn Configuration into a dataclass * require configuration to always pass into helpers * hide file-finders implementation in private module * renamed setuptools_scm.hacks to setuptools_scm.fallbacks and drop support for pip-egg-info * remove trace function and use logging instead * unify distance=None and distance=0 they should mean the same and where hiding dirty states that are now explicitly dirty * depend on later importlib for the full selectable api * move setuptools integration code to private sub-package * use normalized dist names for the SETUPTOOLS_SCM_PRETEND_VERSION_FOR_${DIST_NAME} * drop support for python 3.7 * introduce version_file as replacement for write_to features -------- * created a directory for the vcs-versioning package and added it to pypi * git: expect main as possible default branch * drop version_from_scm helper * trim down exposed public api * no longer self-call twice in setuptools * add support for version schemes by import * chores * migrate own metadata to pyproject.toml * consolidate version schemes * stricter tag typing * pre-compiled regex * move helpers to private modules * support passing log levels to SETUPTOOLS_SCM_DEBUG * support using rich.logging as console log handler if installed * fix 527: type annotation in default version template * fix 549: use fallbacks when scm search raises CommandNotFoundError bugfixes -------- * fix 883: use HeadersParser to ensure only mime metadata in headers is used * fix 884: parse calver dates from versions with the v prefix * don't use a C locale without UTF-8 support, when running commands. ``` ### 7.1.0 ``` ====== * 748: use ``tomllib`` from stdlib * fix 762: handle non-ascii in setup.cfg * 752: implement fallback file finders for archives * 765: removed coding header in python template * declared Python 3.11 support * fix 759: update .git_archival.txt templates match git-describe invocation * fix 772: fix handling of .git-archival.txt from tagged commit ```Links
- PyPI: https://pypi.org/project/setuptools-scm - Changelog: https://data.safetycli.com/changelogs/setuptools-scm/