Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-vcs-versioning for 
openSUSE:Factory checked in at 2026-10-27 18:20:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-vcs-versioning (Old)
 and      /work/SRC/openSUSE:Factory/.python-vcs-versioning.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-vcs-versioning"

Tue Oct 27 18:20:50 2026 rev:3 rq:1392681 version:2.3.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-vcs-versioning/python-vcs-versioning.changes  
    2026-04-21 12:42:09.379785587 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-vcs-versioning.new.2252680/python-vcs-versioning.changes
 2026-10-27 18:21:18.459488654 +0100
@@ -1,0 +2,163 @@
+Sun Oct 25 21:47:25 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2.3.2:
+  * 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.
+  * 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.
+  * Add a ``vcs_versioning.dynamic_metadata`` provider for the
+    dynamic-metadata system.
+  * 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.
+  * 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.
+  * 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.
+  * 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.
+  * Add missing pytest-timeout to vcs-versioning test
+    dependencies.
+  * 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.
+  * 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.
+  * Move PKG-INFO discovery tests to setuptools-scm where the
+    entry points are registered.
+  * Fix MetadataWorkdir crash when using custom `tag_regex` —
+    stored tags are already parsed version strings and no longer
+    re-parsed through the tag regex.
+  * Scope `list_tracked_files` to `project_root` in monorepo
+    setups so that sdists no longer include files from sibling
+    projects when `root=".."` is configured.
+  * Fix spurious ``DeprecationWarning`` for ``tag_regex`` when
+    using default value via ``get_version()``.
+  * Add `VcsEnvironment.build_config_from_pyproject`,
+    `build_config_from_data`, and `pyproject_tool_names` methods
+    for canonical env-first configuration creation.
+  * 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.
+  * Update CI to use PyPy 3.11 as cryptography has no PyPy 3.10
+    build available
+  * 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.
+  * 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.
+
+-------------------------------------------------------------------

Old:
----
  vcs_versioning-1.1.1.tar.gz

New:
----
  vcs_versioning-2.3.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-vcs-versioning.spec ++++++
--- /var/tmp/diff_new_pack.KnVIft/_old  2026-10-27 18:21:22.491657535 +0100
+++ /var/tmp/diff_new_pack.KnVIft/_new  2026-10-27 18:21:22.496657745 +0100
@@ -16,12 +16,6 @@
 #
 
 
-%if 0%{?suse_version} > 1500
-%bcond_without libalternatives
-%else
-%bcond_with libalternatives
-%endif
-
 %global flavor @BUILD_FLAVOR@%{nil}
 %if "%{flavor}" == "test"
 %define psuffix -test
@@ -30,11 +24,14 @@
 %define psuffix %{nil}
 %bcond_with test
 %endif
-%if !%{with test}
-%{?pythons_for_pypi}
+%if 0%{?suse_version} > 1500
+%bcond_without libalternatives
+%else
+%bcond_with libalternatives
 %endif
+%{?pythons_for_pypi}
 Name:           python-vcs-versioning%{psuffix}
-Version:        1.1.1
+Version:        2.3.2
 Release:        0
 Summary:        the blessed package to manage your versions by vcs metadata
 License:        MIT
@@ -47,10 +44,15 @@
 BuildRequires:  python-rpm-macros
 Requires:       python-packaging >= 20
 BuildArch:      noarch
+%if !%{with test}
+%{?pythons_for_pypi}
+%endif
 %if %{with test}
+BuildRequires:  %{python_module pytest-timeout}
 BuildRequires:  %{python_module pytest-xdist}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module vcs-versioning >= %{version}}
+BuildRequires:  git-core
 %endif
 %if %{with libalternatives}
 BuildRequires:  alts
@@ -72,7 +74,7 @@
 
 %if %{with test}
 %check
-%pytest --ignore testing_vcs/test_file_finders.py --ignore 
testing_vcs/test_git.py
+%pytest --ignore testing_vcs/test_file_finders.py --ignore 
testing_vcs/test_git.py -k "not test_egg_info_metadata_wins_over_pkginfo"
 
 %else
 

++++++ vcs_versioning-1.1.1.tar.gz -> vcs_versioning-2.3.2.tar.gz ++++++
++++ 10355 lines of diff (skipped)

Reply via email to