Skip to content

Update dependency setuptools-scm to >=10.3.4 - #244

Merged
olehermanse merged 1 commit into
mainfrom
renovate/python-deps
Sep 25, 2026
Merged

olehermanse merged 1 commit into
mainfrom
renovate/python-deps

Conversation

@olehermanse

Copy link
Copy Markdown
Member

This PR contains the following updates:

Package Change Age Confidence
setuptools-scm >=10.2.3 → >=10.3.4 age confidence

Release Notes

pypa/setuptools-scm (setuptools-scm)

v10.3.4: setuptools-scm v10.3.4

Compare Source

Fixed
  • Ship the tracked files of projects whose pyproject.toml sits in a subdirectory
    of the checkout. root defaults to the project directory, so version inference
    correctly finds no SCM there and answers from SETUPTOOLS_SCM_PRETEND_VERSION
    or fallback_version -- but that says nothing about which files git tracks, and
    the sdist and wheel came out with none of them. This was the 10.3.0 regression
    fixed in 10.3.3, surviving in the subdirectory layout.

    File discovery now follows the checkout the project sits in, independently of
    the root that scopes versioning, and records scm_file_list.json in the
    egg-info as a root-level project already did. (#​1543)

  • Require vcs-versioning>=2.5.0. The subdirectory file-discovery fix (#​1543) imports
    discover_file_workdir, which no earlier release has, while the declared floor still
    named 2.4.0 -- an install against a published vcs-versioning raised ImportError
    during the build. (#​1546)

v10.3.3: setuptools-scm v10.3.3

Compare Source

Fixed
  • Keep file discovery working when the version is pretended.
    SETUPTOOLS_SCM_PRETEND_VERSION and its scoped _FOR_<DIST> form made
    version inference return before discovering a workdir, and the egg_info
    mixin read the absent workdir as "searched, found no checkout" -- the signal
    it acts on by suppressing the setuptools.file_finders chain. Every
    SCM-tracked file that setuptools' own package discovery does not find was
    then dropped from the sdist and the wheel, silently, since the build
    succeeded and the version was correct.

    A pretended version still skips discovery, because most builds only want a
    version and probing for a checkout nobody asks about costs subprocesses for
    nothing. What no longer happens is passing that off as an answer: "nobody
    looked yet" is now distinct from "looked and found nothing", and the workdir
    is discovered on demand the first time a consumer needs a file list.

    scm_file_list.json is now written to the egg-info for pretended builds as
    well. It describes which files the checkout tracks, which a pretended
    version says nothing about. scm_version.json stays absent there, because
    a pretended version must not be recorded as what the SCM said. (#​1540)

v10.3.2: setuptools-scm v10.3.2

Compare Source

Fixed
  • Stop the command mixins from reordering a project's own build_py, egg_info
    or bdist_wheel MRO. ScmVersionFileMixin and friends inherited from the
    corresponding setuptools command, so wrapping a project class built on a disjoint
    hierarchy -- distutils.command.build_py, or the standalone wheel package's
    bdist_wheel -- placed setuptools' command ahead of the project's class.
    setuptools.build_py.run() does not delegate any further, so the project's
    run() was silently skipped, surfacing as
    error: package directory '...' does not exist. The mixins now carry no runtime
    base class and linearise to (wrapped, mixin, *project_command.__mro__). (#​1531)

  • Leave a project's cmdclass alone when setuptools-scm is installed but not
    actually inferring a version. build_py, egg_info and bdist_wheel are
    now registered only once version inference has stored data on the distribution --
    the precondition for any of the mixins doing something. Previously every project
    with a pyproject.toml had its commands wrapped, including projects with no
    [tool.setuptools_scm] section at all.

    Note for projects that used to configure setuptools-scm and no longer do: a
    scm_version.json left behind in a stale *.egg-info directory is no longer
    stripped from built wheels, because the bdist_wheel mixin that strips it is no
    longer registered either. Remove the stale *.egg-info directory. (#​1533)

v10.3.1: setuptools-scm v10.3.1

Compare Source

Fixed
  • Require vcs-versioning>=2.4.0. setuptools-scm 10.3.0 declared >=2.3.2 but
    imports vcs_versioning._file_finders.scm_search_known_failed, which vcs-versioning
    only gained in 2.4.0, so installing it alongside an older vcs-versioning failed with
    ImportError. CI now installs setuptools-scm against the oldest vcs-versioning its
    metadata permits, so the lower bound can no longer go stale unnoticed. (#​1528)

v10.3.0: setuptools-scm v10.3.0

Compare Source

Deprecated
  • Emit a DeprecationWarning when the setuptools.file_finders entry point is invoked for a project that does not configure setuptools-scm. The entry point will be removed in a future major release. (#​1407)
Fixed
  • Run the setuptools.file_finders hook inside a setuptools-scm override context. It previously resolved settings under the VCS_VERSIONING prefix only, so documented variables such as SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT and SETUPTOOLS_SCM_HG_COMMAND were ignored when finding files.

    When version inference has already run and found no SCM checkout, the egg_info mixin now tells the file finders so, rather than letting walk_revctrl() re-probe every backend for a repository known to be absent. (#​1212)


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@codecov

codecov Bot commented Sep 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.73%. Comparing base (39399fd) to head (2a164cf).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #244   +/-   ##
=======================================
  Coverage   54.73%   54.73%           
=======================================
  Files          33       33           
  Lines        4149     4149           
=======================================
  Hits         2271     2271           
  Misses       1878     1878           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@olehermanse
olehermanse merged commit 4ee9538 into main Sep 25, 2026
13 checks passed
@olehermanse
olehermanse deleted the renovate/python-deps branch September 25, 2026 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants