head 1.13; access; symbols pkgsrc-2026Q3:1.11.0.2 pkgsrc-2026Q3-base:1.11 pkgsrc-2026Q2:1.1.0.2 pkgsrc-2026Q2-base:1.1; locks; strict; comment @# @; 1.13 date 2026.09.28.14.56.48; author wiz; state Exp; branches; next 1.12; commitid Id8C53pRtkSKOoXG; 1.12 date 2026.09.23.09.34.04; author adam; state Exp; branches; next 1.11; commitid t7YjJ8tisraUbJWG; 1.11 date 2026.09.04.05.12.43; author adam; state Exp; branches; next 1.10; commitid qLGgkjPdfSb8mgUG; 1.10 date 2026.09.02.10.29.52; author adam; state Exp; branches; next 1.9; commitid GiZ7tFxfZhnUa2UG; 1.9 date 2026.08.23.08.23.11; author wiz; state Exp; branches; next 1.8; commitid E0ZBXuR5tzNmNJSG; 1.8 date 2026.08.09.05.59.42; author adam; state Exp; branches; next 1.7; commitid oOJGx8KquU35sVQG; 1.7 date 2026.08.02.11.31.33; author adam; state Exp; branches; next 1.6; commitid oheJ78aCRXPVv3QG; 1.6 date 2026.06.30.05.46.26; author adam; state Exp; branches; next 1.5; commitid MeCGlaMWImxhFMLG; 1.5 date 2026.06.29.09.02.46; author adam; state Exp; branches; next 1.4; commitid 9hF4MtyDmgOAMFLG; 1.4 date 2026.06.25.12.45.15; author adam; state Exp; branches; next 1.3; commitid fJVkApGT4S9S8bLG; 1.3 date 2026.06.24.05.19.06; author adam; state Exp; branches; next 1.2; commitid zmeNchRjOHjNH0LG; 1.2 date 2026.06.23.05.34.55; author adam; state Exp; branches; next 1.1; commitid YlKpMRtlnGz9PSKG; 1.1 date 2026.03.29.18.46.13; author wiz; state Exp; branches; next ; commitid f7tgK2SejZJcYTzG; desc @@ 1.13 log @py-vcs-versioning: update to 2.5.0. ## 2.5.0 (2026-09-23) ### Added - Add `discover_file_workdir()`, which finds the checkout a project sits in for the purpose of listing files. `discover_workdir()` answers which checkout defines the version, scoped by `root` and `search_parent_directories`; which files a project ships is a separate question, and a project in a subdirectory of a checkout still ships that checkout's files. ([#1543](https://github.com/pypa/setuptools-scm/issues/1543)) ### Fixed - Accept the `tool` keyword in `_version_missing()` again. setuptools-scm 10.1.0 through 10.2.3 pass it and allow any `vcs-versioning<3`; since 2.4.1 removed it, a build without a detectable version failed with `TypeError: _version_missing() got an unexpected keyword argument 'tool'` instead of the `LookupError` that says how to set a version. The keyword is ignored; the tool is taken from the configuration's environment. ([#1550](https://github.com/pypa/setuptools-scm/issues/1550)) @ text @$NetBSD: distinfo,v 1.12 2026/09/23 09:34:04 adam Exp $ BLAKE2s (vcs_versioning-2.5.0.tar.gz) = a611bf8db3cb21f23f8d0e2cfab281b52b2eff137d0c0bef0941a4584168dced SHA512 (vcs_versioning-2.5.0.tar.gz) = 9f92bf196f4820bcbcec3235bfc44f444604d9fcdaf936562bbe4fa2b1cd79fa434f5b0c363585c828d88bd01b2e6b3e95378042a327c091bc484b511cc97495 Size (vcs_versioning-2.5.0.tar.gz) = 165975 bytes @ 1.12 log @py-vcs-versioning: updated to 2.4.1 2.4.1 (2026-09-16) Fixed - The error raised when a `.jj/` directory is found but `jj` is not installed now names the environment variables that actually disable jj discovery (`SETUPTOOLS_SCM_DISABLE_JJ=1` / `VCS_VERSIONING_DISABLE_JJ=1`) instead of an unprefixed `DISABLE_JJ=1`, which was never read. - The "unable to detect version" error now names the environment variables the running integration actually reads. It previously suggested `SETUPTOOLS_SCM_PRETEND_VERSION_FOR_${NORMALIZED_DIST_NAME}` unconditionally, which is not read by `vcs-versioning` on its own (or by any other integrator), and it named setuptools-scm as the failing tool regardless of which one ran. When the distribution name is known the suggested variable is spelled out in full. When it is not, the generic variables are suggested instead, with a note that the per-distribution `..._FOR_` form needs a dist name to match -- the previous message offered a `${NORMALIZED_DIST_NAME}` template that could never be filled in. - Warn when file discovery is suppressed while a VCS marker sits in the project directory. `scm_search_known_failed()` means an integrator already looked and found no checkout, so a `.git`, `.hg` or `.jj` right there contradicts it and the artifact is about to lose every tracked file. That combination was the signature of the pretend-version regression and stayed invisible for three releases. Parent directories are not searched, since an unpacked sdist inside an unrelated checkout is the case the suppression exists for, and roots listed in `IGNORE_VCS_ROOTS` are skipped. Miscellaneous - Environment variable names are now built in one place (`env_var_name` / `EnvReader.candidate_names`), shared by the lookup in `EnvReader.read` and by every error message that suggests a variable, so a message cannot name a variable the lookup would not honour. The "repository found in a parent directory" error no longer offers a `get_version(relative_to=...)` call to integrators that do not ship one; the remaining options are renumbered instead. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2026/09/04 05:12:43 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.4.1.tar.gz) = cf58fe7c62a952ede846622abec3e788b29265e1134f57a6601cc84ff613d534 SHA512 (vcs_versioning-2.4.1.tar.gz) = 88c60d71a654ef159ea112ba2e7459936471c61dc46ed216728f1cac31d38e4d71de303ff07a550ac7c2bc7a2104dabfbcc20aa86c6c76b0d40b0e0642445473 Size (vcs_versioning-2.4.1.tar.gz) = 164222 bytes @ 1.11 log @py-vcs-versioning: updated to 2.3.4 2.3.4 (2026-09-03) Fixed - Ensure the vcs-versioning testsuite passes without setuptools-scm installed; the egg-info vs PKG-INFO discovery priority test moved to the setuptools-scm testsuite, which owns the egg-info entry point it needs. 2.3.3 (2026-09-03) Fixed - The `semver-pep440` and `semver-pep440-release-branch` version schemes now keep the PEP 440 epoch of the tag they are derived from, instead of emitting a version that sorts below it. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2026/09/02 10:29:52 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.3.4.tar.gz) = b2aba435e53a55c195f6a789e2e48b726e936b2b6d979c890440c847c45756ce SHA512 (vcs_versioning-2.3.4.tar.gz) = 6eebdf57d70f994e9f760c736fd66613eb639d72ee71737d9a8e9fb05edcc07a6532f0ee16dc4f6296f502f903300b86042892f57fe14ee4ab50fe10bc54dd8a Size (vcs_versioning-2.3.4.tar.gz) = 149647 bytes @ 1.10 log @py-vcs-versioning: updated to 2.3.2 2.3.2 (2026-09-01) Fixed - Register the `pkginfo` workdir discovery factory in vcs-versioning itself. `PKG-INFO` is standard sdist metadata, not a setuptools artifact, but its factory was only registered by setuptools-scm -- so a standalone vcs-versioning install could not infer a version from an sdist. This broke sdist builds for non-setuptools backends, e.g. meson-python calling `python -m vcs_versioning` from `project()`. Fallback workdir candidates are now ordered by how much metadata they carry (egg-info, then archival, then `PKG-INFO`) instead of by entry point iteration order, so a setuptools built sdist keeps using its `scm_version.json` now that the two factories ship from different distributions. Miscellaneous - Stop shipping a per-package `uv.lock` in the sdist. It could not be generated correctly whenever `setuptools-scm` required an unreleased `vcs-versioning`, which broke the release proposal workflow. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2026/08/23 08:23:11 wiz Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.3.2.tar.gz) = 0acc598dc32525b0dd71428b2d2d8f7a22b84de4c9a644c76eedce44f54bcef7 SHA512 (vcs_versioning-2.3.2.tar.gz) = d50d809d2062e828181180d74f983aa68bb35e3cc985e5a14cad785da47a99c390b44da66ab473bcff22b49d340338ae2027efbb70087938ba23743550eaead0 Size (vcs_versioning-2.3.2.tar.gz) = 149377 bytes @ 1.9 log @py-vcs-versioning: update to 2.3.1. Add some test dependencies. ## 2.3.1 (2026-08-19) ### Fixed - Fix a `FileNotFoundError` crash in the git file finder when a submodule is tracked in the index but its working tree directory does not exist - such gitlinks are now skipped like not checked out submodules. ([#1500](https://github.com/pypa/setuptools-scm/issues/1500)) ## 2.3.0 (2026-08-13) ### Added - Add a ``vcs_versioning.dynamic_metadata`` provider for the [dynamic-metadata](https://github.com/scikit-build/dynamic-metadata) system. ([#1465](https://github.com/pypa/setuptools-scm/issues/1465)) ### Fixed - Make the `tag.strict` and `scm.git.describe_command` diagnostics actionable and non-conflicting. The `tag.strict` future-default notice is now reported by the git backend rather than at configuration time, and only when the future default would actually select a different tag for the repository -- the message names both the current and the future version string. Projects the change cannot affect are silent, and setting an explicit `describe_command` no longer triggers it at all, so the two warnings can no longer contradict each other. The `describe_command` notice is likewise limited to the case where it and an explicit `tag.strict` really disagree, and no longer claims that `tag.prefix` has no effect -- prefix stripping applies regardless of how the tag was selected. Both are logged at warning level instead of raised as warnings, so `SETUPTOOLS_SCM_DEBUG=ERROR` silences them. ([#1429](https://github.com/pypa/setuptools-scm/issues/1429)) - Honour `export-ignore` on directories and submodules again in the git file finder. The switch from `git archive` to `git ls-files --recurse-submodules` lost two parts of the archive semantics: `--recurse-submodules` listed every submodule regardless of `export-ignore`, and the `:(exclude,attr:export-ignore)` pathspec only matches files, so an `export-ignore` on a directory no longer excluded the files below it. Projects that kept vendored submodules in an `export-ignore`d directory suddenly shipped them in their sdists. The finder now lists a repository without recursion, checks `export-ignore` for directories via `git check-attr` (which is what `git archive` effectively does when it skips a tree), and only then descends into the submodules that survived. Submodule contents are still listed - with their own `.gitattributes` applied - so `export-ignore` in the parent repository now controls exactly which submodules get packaged. Submodules that are not checked out are skipped instead of failing the listing. ([#1469](https://github.com/pypa/setuptools-scm/issues/1469)) - Honour `tag.strict` on Mercurial changesets that carry tags of their own, and report the coming strict default for Mercurial repositories. `tag.strict` was only applied when looking for the latest tag, so a checked-out changeset tagged `event-2024` still produced version `2024` even with `tag.strict = true`, while git rejected the same tag. Strict matching now applies to the tags on the changeset too: a changeset carrying only event-style tags is treated as untagged and versioning continues from the last real version tag, matching `git describe --match`. When several tags sit on one changeset, the version-shaped one is now selected instead of whichever Mercurial happened to list first. The `tag.strict` divergence diagnostic added in #1429 now covers Mercurial as well, naming the current and future version whenever the coming default would change them. Both backends share the message, and the git-only helpers moved to `_backends/_scm_workdir.py`. Note that the Mercurial backend required a dot in version tags before setuptools-scm 9, so for Mercurial projects the coming strict default restores the historical behavior. ([#1495](https://github.com/pypa/setuptools-scm/issues/1495)) @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2026/08/09 05:59:42 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.3.1.tar.gz) = 83a49b4902254564a100024fb354ed03501cda162173b65a8bae54c49f460e33 SHA512 (vcs_versioning-2.3.1.tar.gz) = 31ea5d94b881eb19c709873086110498c64da4a3525f6eace82fe693ea7243b812f1434c20e08ad8c6ad9c3cb013831ecfe88834739dc60a9c1b78fb746c5dee Size (vcs_versioning-2.3.1.tar.gz) = 156292 bytes @ 1.8 log @py-vcs-versioning: updated to 2.2.4 2.2.4 (2026-08-07) Fixed - Speed up jujutsu version inference in large repositories. The jj backend filtered whole-ancestry revsets with `empty()`, which makes jj diff every commit in the history and took minutes on large repos. The scan for the newest real commit is now bounded to the most recent generations, distances are counted without the filter, and the working copy is snapshotted only once per run (later queries pass `--ignore-working-copy`). As a side effect distances now match `git describe --long`: merge commits count even though jj considers them empty. - Improve reproducibility of scm_file_list.json - Route the hg-git tag mismatch warning through the module logger instead of the root logger. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2026/08/02 11:31:33 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.2.4.tar.gz) = 7999a59e46713c668079ddd8e3f893d01cfa63feb2a9979c267423283028a164 SHA512 (vcs_versioning-2.2.4.tar.gz) = f2fa4536d3f204f291341af3be4ec22c12867fe8bfe4ee5851794bf7a6847c3657f55297a8a42639916115cc4e5b2cb2a14171e3591610dd55ec0035f2c0a347 Size (vcs_versioning-2.2.4.tar.gz) = 145243 bytes @ 1.7 log @py-vcs-versioning: updated to 2.2.3 2.2.3 (2026-07-28) Fixed - Fix `ValueError` when parsing `.git_archival.txt` of a tagged commit whose tag contains more than one dash (e.g. `llvmorg-23.1.0-rc2`) - the `git describe` suffix is now matched precisely instead of splitting on the last two dashes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2026/06/30 05:46:26 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.2.3.tar.gz) = ce889327988cf9a1d9276ec8aac47bda0fba896086c1195fe4005d7f133379d0 SHA512 (vcs_versioning-2.2.3.tar.gz) = 847d97ffe3262052076876907e2564656dd6caf38ee8587ce2dd6759c22a4f1f7fd052b542ae78aa1baba25dc673e28d1ee8b984272ea25054a92dc94ff53779 Size (vcs_versioning-2.2.3.tar.gz) = 143653 bytes @ 1.6 log @py-vcs-versioning: updated to 2.2.2 2.2.2 (2026-06-29) Fixed - Add missing pytest-timeout to vcs-versioning test dependencies. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2026/06/29 09:02:46 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.2.2.tar.gz) = 534a5817bb28a55e118110d1ed54da7cf289f55f360212b18943e4041d164c16 SHA512 (vcs_versioning-2.2.2.tar.gz) = b65af99a5078d8b129e34610bbeb7d1fa8f57badb304e00f14c6318a13b2314b7ca739a26fc7729b0d2df6d829769f8b93fee28ae9f0450ab1246a2a4c36fc8f Size (vcs_versioning-2.2.2.tar.gz) = 143135 bytes @ 1.5 log @py-vcs-versioning: updated to 2.2.1 2.2.1 (2026-06-29) Fixed - Fix crash in `_warn_if_tracked` when the version file target is a relative path by resolving it against the project root before comparison. Also warn (instead of crashing) when the target resolves outside the project root. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2026/06/25 12:45:15 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.2.1.tar.gz) = c6138046c798bb9c8f2dc8a0bb2e8360d36da354607799f4f10da15b84f16884 SHA512 (vcs_versioning-2.2.1.tar.gz) = dc9759a93786f5ec0b6d8d94044320b7e98771a0754ea446d09c8aa952a6d12b8cd61cb30a71706f1a2ab91c3b50aba7bce518b491db03642c269c050dbda62a Size (vcs_versioning-2.2.1.tar.gz) = 142892 bytes @ 1.4 log @py-vcs-versioning: updated to 2.2.0 2.2.0 (2026-06-24) Added - Restore Python 3.8 and 3.9 support, re-enabling use as a build dependency for projects like scikit-build that still support these versions. Miscellaneous - Move PKG-INFO discovery tests to setuptools-scm where the entry points are registered. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2026/06/24 05:19:06 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.2.0.tar.gz) = dec78b5c6ad638f6e4dc3c97c1ba890655cc44e16314a9f633e953240d724bf1 SHA512 (vcs_versioning-2.2.0.tar.gz) = a99d49bf1db43acd9cd397c07a187522dca13bb02cd239e7c96b4c1e1ad1e8f70256e5e997639f8753cfc1f02de5a3a0ada7ac007698605bb1ce65a172c142a6 Size (vcs_versioning-2.2.0.tar.gz) = 132140 bytes @ 1.3 log @py-vcs-versioning: updated to 2.1.2 2.1.2 (2026-06-23) Fixed - Fix MetadataWorkdir crash when using custom `tag_regex` — stored tags are already parsed version strings and no longer re-parsed through the tag regex. 2.1.1 (2026-06-23) Fixed - Fix spurious ``DeprecationWarning`` for ``tag_regex`` when using default value via ``get_version()``. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2026/06/23 05:34:55 adam Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.1.2.tar.gz) = ca3913d5f0275b130ed338cc5e2a19717f6f97cf53ed46708aac41f61f007732 SHA512 (vcs_versioning-2.1.2.tar.gz) = 12fa4b10ebe8aa7014fbf9e96e607224f886d4f72ee2b09a346ba25e0ddcf09cc67f38807472d94dfb9ff94bd7462f06669b88c91dc6e68ee177b338265bc501 Size (vcs_versioning-2.1.2.tar.gz) = 131716 bytes @ 1.2 log @py-vcs-versioning: updated to 2.1.0 2.1.0 (2026-06-22) Added - Add `VcsEnvironment.build_config_from_pyproject`, `build_config_from_data`, and `pyproject_tool_names` methods for canonical env-first configuration creation. Fixed - Fix DeprecationWarning leak in pretend API by ensuring all public APIs attach VcsEnvironment to Configuration before accessing env-dependent properties. - Fix fallback discovery so an unprocessed `.git_archival.txt` no longer shadows a valid `PKG-INFO` in PyPI sdists. 2.0.1 (2026-06-22) Fixed - Update CI to use PyPy 3.11 as cryptography has no PyPy 3.10 build available 2.0.0 (2026-06-22) Removed - Remove module-level accessor functions from ``vcs_versioning.overrides``: ``get_active_overrides()``, ``get_debug_level()``, ``get_subprocess_timeout()``, ``get_hg_command()``, ``get_source_date_epoch()``, and ``source_epoch_or_utc_now()``. Use ``VcsEnvironment.from_env()`` or ``config.env`` instead. External consumer audit confirmed no downstream usage of these functions. Added - Introduce ``VcsEnvironment`` and the chained API (``env → config → workdir → version``) for explicit runtime settings. Add ``Configuration.env``, ``Configuration.discover_workdir()``, and the ``vcs_versioning.discover_workdir`` entry-point group. Integrators can now use ``VcsEnvironment.from_env("MY_TOOL").build_config()`` to thread timeout, hg command, and other settings without ambient globals. - Warn when ``version_file`` or ``write_to`` targets a file that is tracked by version control. A tracked version file causes ``git describe --dirty`` to report a dirty tree after builds rewrite it, leading to unexpected dev-version bumps on tag checkouts. The warning advises removing the file from VCS and adding it to the ignore file. - Add native Jujutsu (jj) VCS backend with version inference, file finder, and strict error when `.jj/` is detected but `jj` is not installed. The `SETUPTOOLS_SCM_DISABLE_JJ=1` environment variable can be used to opt out of jj discovery in environments where `jj` is not available. - Add ``no-local-version-strict`` local scheme that combines ``no-local-version`` and ``fail-on-uncommitted-changes`` in a single entry-point. When the working tree is dirty the build fails with ``DirtyWorkingTreeError``; otherwise the local segment is stripped, producing PyPI-safe versions suitable for release builds. - Modernize Mercurial backend to use `latesttag(pattern)` template instead of manual tag discovery with revsets, reducing subprocess calls and enabling tag.prefix/tag.strict support for Mercurial repositories. - Add `tag.prefix` and `tag.strict` configuration options for controlling which VCS tags are considered version tags. `tag.prefix` filters and strips a literal prefix (for monorepo tag schemes like `hatchling-v1.0.0`). `tag.strict` (tri-state) requires tags to contain at least one dot, rejecting non-version tags like event markers. Both compose to generate the `git describe --match` glob automatically. Fixed - Replace bare ``assert`` in ``ScmWorkdir.config`` and ``FallbackWorkdir.config`` with a ``RuntimeError`` that explains how to properly associate a ``Configuration`` with a workdir. - Filter Mercurial pseudo-tags (tip, qbase, qtip, qparent) and iterate all tags when resolving versions, fixing spurious "no version found" warnings from MQ extension tags. - The ``semver-pep440`` and ``semver-pep440-release-branch`` version schemes now correctly handle ``.dev0`` tags and pre-release tags. Exact checkout on a tag returns the tag as-is (``2.0.dev0`` stays ``2.0.dev0``, ``1.0.0rc1`` stays ``1.0.0rc1``). Non-exact ``.dev0`` tags are treated as explicit version anchors, producing ``X.Y.0.devN`` instead of incorrectly bumping past the anchored version. - Replace git archive with git ls-files for file discovery, fixing freshly added files being hidden while still honoring export-ignore via gitattributes - Fix git archivals from repositories with no tags failing to determine a version. - Override user-defined shell aliases when invoking VCS commands, preventing alias expansions from corrupting subprocess output. - Suppress spurious "toml section missing" warnings when setuptools-scm is used only for file finding or with simplified activation. The log message is now debug-level and only emitted when the package is actually a build requirement. - Read towncrier fragment directory from `[tool.towncrier]` in `pyproject.toml` or the top-level `directory` key in `towncrier.toml` instead of hardcoding `changelog.d/`. - Add the py.typed marker file. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1 2026/03/29 18:46:13 wiz Exp $ d3 3 a5 3 BLAKE2s (vcs_versioning-2.1.0.tar.gz) = fd8a8a223feb39fd23b50b165fd40b8dc1f13a7824a3c5f880537135ba303f68 SHA512 (vcs_versioning-2.1.0.tar.gz) = b8cdb083e2a229fd78141e51543971d2ad066f9e3ba53aa8be941ce6408c8b80b8db2eb4aac738d31de47d409d4eaa4473ebe3458f7b8ed696ac4127b28f76f3 Size (vcs_versioning-2.1.0.tar.gz) = 130507 bytes @ 1.1 log @devel/py-vcs-versioning: import py-vcs-versioning-1.1.1 Core VCS versioning functionality extracted as a standalone library that can be used independently of setuptools. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 BLAKE2s (vcs_versioning-1.1.1.tar.gz) = a4690585c1d30855f6ea462b79923329d0a6ec0eaef412060a37b2184c2ca20c SHA512 (vcs_versioning-1.1.1.tar.gz) = e5bf9fa68eeb38c8d884f4bad6f93f1354854ad0ab04919d369ed1b40832c2ed117f4c9d9458ae5a8a71c84497f6d0ff0ca5b38881c7a3a057619b3da3cbbbbc Size (vcs_versioning-1.1.1.tar.gz) = 97575 bytes @