10.3.4 (2026-09-23)
- 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.
- Require vcs-versioning>=2.5.0. The subdirectory file-discovery fix
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.
10.3.3 (2026-09-16)
- 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.
10.3.2 (2026-09-14)
- 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__).
- 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.
10.3.1 (2026-09-14)
- 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.
10.3.0 (2026-09-12)
- 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.
- 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.
Signed-off-by: Mathieu Dubois-Briand <[email protected]>
---
...ython3-setuptools-scm_10.2.3.bb => python3-setuptools-scm_10.3.4.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_10.2.3.bb
b/meta/recipes-devtools/python/python3-setuptools-scm_10.3.4.bb
similarity index 89%
rename from meta/recipes-devtools/python/python3-setuptools-scm_10.2.3.bb
rename to meta/recipes-devtools/python/python3-setuptools-scm_10.3.4.bb
index 0af4bd24f5e2..db9a565439c5 100644
--- a/meta/recipes-devtools/python/python3-setuptools-scm_10.2.3.bb
+++ b/meta/recipes-devtools/python/python3-setuptools-scm_10.3.4.bb
@@ -6,7 +6,7 @@ argument or in a SCM managed file."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
-SRC_URI[sha256sum] =
"f179ed3e2a63cf5823e5ee9aa9ca08386219400443a0553224d72dde3f206b44"
+SRC_URI[sha256sum] =
"a69f28bfc245608781205e912faae437c2b2165773afa4e7b979d77447a69dd2"
PYPI_PACKAGE = "setuptools_scm"
--
2.47.3
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#246926):
https://lists.openembedded.org/g/openembedded-core/message/246926
Mute This Topic: https://lists.openembedded.org/mt/121504992/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-