Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update setuptools-scm to 8.0.4 #537

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Oct 2, 2023

This PR updates setuptools-scm from 3.3.3 to 8.0.4.

Changelog

8.0.4

Changed

- introduce scriv for changelog management
- reconfigure local build backend to use an attribute instead of star imports from setuptools
- introduce ruff as a linter
- ensure the setuptools version keyword correctly load pyproject.toml configuration
- add build and wheel to the test requirements for regression testing
- move internal toml handling to own module

Fixed

- fix 925: allow `write_to` to be an absolute path when it's a subdirectory of the root
- fix 932: ensure type annotations in version file don't cause linter issues
- fix 930: temporary restore `DEFAULT_VERSION_SCHEME` and `DEFAULT_LOCAL_SCHEME` on the `setuptools_scm` package

8.0.3

bugfix

- 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 andwhere 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}` env var
- 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

7.0.5

- fixes 742, 745: correctly hande accidentally released archival files

7.0.4

- fix 727: correctly handle incomplete archival from setuptools_scm_git_archival
- fix 691: correctly handle specifying root in pyproject.toml
- correct root override check condition (to ensure absolute path matching)
- allow root by the cli to be considered relative to the cli (using abspath)

7.0.3

- fix mercurial usage when pip primes a isolated environment
- fix regression for branch names on git + add a test

7.0.2

- fix 723 and 722: remove bootstrap dependencies
- ensure we read the distribution name from `setup.cfg` if needed even for `pyproject.toml`

7.0.1

- fix 718: Avoid `ModuleNotFoundError` by requiring `importlib_metadata` in `python<3.8`

7.0.0

- drop python 3.6 support
- include git archival support
- fix 707: support git version detection even when git protects against mismatched owners
(common with misconfigured containers, thanks chrisburr )
- fix 548: correctly handle parsing the commit timestamp of HEAD when `log.showSignature` is set

6.4.2

- fix 671: `NoReturn` is not available in painfully dead python 3.6

6.4.1

-   fix regression 669: restore get_version signature
-   fix 668: harden the self-test for distribution extras

6.4.0

-   compatibility adjustments for setuptools \>58
- only put minimal setuptools version into toml extra to warn people with old strict pins
- correctly handle hg-git self-use
- better mercurial detection
- modernize packaging setup
- python 3.10 support
- better handling of setuptools install command deprecation
- consider `pyproject.tomls` when running as command
- use list in git describe command to avoid shell expansions while supporting both windows and posix
- add `--strip-dev` flag to `python -m setuptools_scm` to print the next guessed version cleanly
- ensure no-guess-dev will fail on bad tags instead of generating invalid versions
- ensure we use utc everywhere to avoid confusion

6.3.2

- fix 629: correctly convert Version data in tags_to_version parser to avoid errors

6.3.1

- fix 625: restore tomli in install_requires after the regression changes in took it out
and some users never added it even tho they have pyproject.toml files

6.3.0

warning

This release explicitly warns on unsupported setuptools. This
unfortunately has to happen as the legacy `setup_requires` mechanism
incorrectly configures the setuptools working-set when a more recent
setuptools version than available is required.

As all releases of setuptools are affected as the historic mechanism for
ensuring a working setuptools setup was shipping a `ez_setup` file next
to `setup.py`, which would install the required version of setuptools.

This mechanism has long since been deprecated and removed as most people
haven\'t been using it

bugfixes

- fix 612: depend on packaging to ensure version parsing parts
- fix 611: correct the typo that hid away the toml extra and add it in `setup.py` as well
- fix 615: restore support for the git_archive plugin which doesn't pass over the config
- restore the ability to run on old setuptools while to avoid breaking pipelines

6.2.0

-   fix 608: resolve tomli dependency issue by making it a hard
 dependency as all intended/supported install options use pip/wheel
 this is only a feature release
-   ensure python 3.10 works

6.1.1

-   fix 605: completely disallow bdist_egg - modern enough
 setuptools\>=45 uses pip
-   fix 606: re-integrate and harden toml parsing
-   fix 597: harden and expand support for figuring the current
 distribution name from [pyproject.toml]{.title-ref}
 ([project.name]{.title-ref} or
 [tool.setuptools_scm.dist_name]{.title-ref}) section or
 [setup.cfg]{.title-ref} ([metadata.name]{.title-ref})

6.1.0

-   fix 587: don\'t fail file finders when distribution is not given
-   fix 524: new parameters `normalize` and `version_cls` to customize
 the version normalization class.
-   fix 585: switch from toml to tomli for toml 1.0 support
-   fix 591: allow to opt in for searching parent directories in the
 api
-   fix 589: handle yaml encoding using the expected defaults
-   fix 575: recommend storing the version_module inside of
 `mypkg/_version.py`
-   fix 571: accept branches starting with `v` as release branches
-   fix 557: Use `packaging.version` for `version_tuple`
-   fix 544: enhance errors on unsupported python/setuptools versions

6.0.1

-   fix 537: drop node_date on old git to avoid errors on missing %cI

6.0.0

-   fix 517: drop dead python support \>3.6 required
-   drop dead setuptools support \> 45 required (can install wheels)
-   drop egg building (use wheels)
-   add git node_date metadata to get the commit time-stamp of HEAD
-   allow version schemes to be priority ordered lists of version
 schemes
-   support for calendar versioning (calver) by date

5.0.2

-   fix 415: use git for matching prefixes to support the windows
 situation

5.0.1

- fix 509: support `SETUPTOOLS_SCM_PRETEND_VERSION_FOR_${DISTRIBUTION_NAME}` for `pyproject.toml`

5.0.0

Breaking changes:

-   fix 339: strict errors on missing scm when parsing a scm dir to
 avoid false version lookups
-   fix 337: if relative_to is a directory instead of a file, consider
 it as direct target instead of the containing folder and print a
 warning

Bugfixes:

-   fix 352: add support for generally ignoring specific vcs roots
-   fix 471: better error for version bump failing on complex but
 accepted tag
-   fix 479: raise indicative error when tags carry non-parsable
 information
-   Add `no-guess-dev` which does no next version guessing,
 just adds `.post1.devN` in case there are new commits after the tag
-   add python3.9
-   enhance documentation
-   consider SOURCE_DATE_EPOCH for versioning
-   add a version_tuple to write_to templates
-   fix 321: add support for the
 `SETUPTOOLS_SCM_PRETEND_VERSION_FOR_${DISTRIBUTION_NAME}` env var to
 target the pretend key
-   fix 142: clearly list supported scm
-   fix 213: better error message for non-zero dev numbers in tags
-   fix 356: add git branch to version on describe failure

4.1.2

-   disallow git tags without dots by default again - 449

4.1.1

-   drop jaraco.windows from pyproject.toml, allows for wheel builds on
 python2

4.1.0

-   include python 3.9 via the deadsnakes action
-   return release_branch_semver scheme (it got dropped in a bad rebase)
-   undo the devendoring of the samefile backport for python2.7 on
 windows
-   re-enable the building of universal wheels
-   fix handling of missing git/hg on python2.7 (python 3 exceptions
 where used)
-   correct the tox flake8 invocation
-   trigger builds on tags again

4.0.0

-   Add `parentdir_prefix_version` to support installs from GitHub
 release tarballs.
-   use Coordinated Universal Time (UTC)
-   switch to github actions for ci
-   fix documentation for `tag_regex` and add support for single digit
 versions
-   document handling of enterprise distros with unsupported setuptools
 versions 312
-   switch to declarative metadata
-   drop the internal copy of samefile and use a dependency on
 jaraco.windows on legacy systems
-   select git tags based on the presence of numbers instead of dots
-   enable getting a version form a parent folder prefix
-   add release-branch-semver version scheme
-   make global configuration available to version metadata
-   drop official support for python 3.4

3.5.0

-   add `no-local-version` local scheme and improve documentation for
 schemes

3.4.4

-   fix 403: also sort out resource warnings when dealing with git file
 finding

3.4.3

-   fix 399: ensure the git file finder terminates subprocess after
 reading archive

3.4.2

-   fix 395: correctly transfer tag regex in the Configuration
 constructor
-   rollback \--first-parent for git describe as it turns out to be a
 regression for some users

3.4.1

-   pull in 377 to fix 374: correctly set up the default version
 scheme for pyproject usage. this bugfix got missed when rushing the
 release.

3.4.0

-   fix 181 - add support for projects built under setuptools
 declarative config by way of the
 setuptools.finalize_distribution_options hook in Setuptools 42.
-   fix 305 - ensure the git file finder closes file descriptors even
 when errors happen
-   fix 381 - clean out env vars from the git hook system to ensure
 correct function from within
-   modernize docs wrt importlib.metadata

*edited*

-   use \--first-parent for git describe
Links

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented May 6, 2024

Closing this in favor of #582

@pyup-bot pyup-bot closed this May 6, 2024
@smallsam smallsam deleted the pyup-update-setuptools-scm-3.3.3-to-8.0.4 branch May 6, 2024 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant