Breaking
- fix #1019: pass python version build tags from scm version to results propperly
Added
- add
setuptools-scm
console_scripts entry point to make the CLI directly executable - make Mercurial command configurable by environment variable
SETUPTOOLS_SCM_HG_COMMAND
- fix #1099 use file modification times for dirty working directory timestamps instead of current time
- fix #1059: add
SETUPTOOLS_SCM_PRETEND_METADATA
environment variable to override individual ScmVersion fields - add
scm
parameter support toget_version()
function for nested SCM configuration - fix #987: expand documentation on git archival files and add cli tools for good defaults
- fix #311: document github/gitlab ci pipelines that enable auto-upload to test-pypi/pypi
- fix #1022: allow
version_keyword
to overrideinfer_version
when configuration differs - fix #554: document
fallback_root
parameter in programmatic usage and configuration
Changed
- add
pip
to test optional dependencies for improved uv venv compatibility - migrate to selectable entrypoints for better extensibility
- improve typing for entry_points
- refactor file modification time logic into shared helper function for better maintainability
- reduce complexity of HgWorkdir.get_meta method by extracting focused helper methods
- fix #1150: enable setuptools-scm when we are a build requirement
- feature #1154: add the commit id the the default version file template
- drop scriv
- fix #921: document setuptools version requirements more consistently - 61 as minumum asn 8 as recommended minimum
Fixed
- fix #1145: ensure GitWorkdir.get_head_date returns consistent UTC dates regardless of local timezone
- fix #687: ensure calendar versioning tests use consistent time context to prevent failures around midnight in non-UTC timezones
- reintroduce Python 3.9 entrypoints shim for compatibility
- fix #1136: update customizing.md to fix missing import
- fix #1001: document the missing version schemes and add examples in the docs
- fix #1115: explicitly document file finder behaviour
- fix #879: add test that validates case different behavior on windows
- migrate git describe command to new scm config
- add support for failing on missing submodules
- fix #279: expand errors when scm can be found upwards and relative_to wasnt used
- fix #577: introduce explicit scmversion node and short node
- fix #1100: add workaround for readthedocs worktress to the docs
- fix #790: document shallow fail for rtd
- fix #474: expand version not found error message to provide clearer guidance about SETUPTOOLS_SCM_PRETEND_VERSION_FOR_* environment variables
- fix #324: document/recommend the v tag prefix
- fix #501: add py.typed
- fix #804: git - use fallback version instead of 0.0 when no version is found at all
- fix #1139: use logging.lastResort instead of a own replica to avoid polluting logging._handlerList
- fix #873: don't infer version in cli if --no-version is given
- fix #535: accept tags from a release action in the gh ui
- fix #1073: explain namespaces for release-branch-semver
- fix #1052: use consistent node hash length across all SCM backends
- fix #1045: reindent the
__all__
in the version template to sort - fix #986: harden environment override finding with better normalization and typo suggestions
- fix #846: add support for failing on missing submodules