Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-dulwich for openSUSE:Factory 
checked in at 2026-01-21 14:14:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dulwich (Old)
 and      /work/SRC/openSUSE:Factory/.python-dulwich.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-dulwich"

Wed Jan 21 14:14:48 2026 rev:67 rq:1328438 version:0.25.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dulwich/python-dulwich.changes    
2025-04-24 17:27:51.475237020 +0200
+++ /work/SRC/openSUSE:Factory/.python-dulwich.new.1928/python-dulwich.changes  
2026-01-21 14:15:11.069427914 +0100
@@ -1,0 +2,114 @@
+Fri Jan 16 10:24:18 UTC 2026 - Nico Krapp <[email protected]>
+
+- Update to 0.25.2
+  * Fix test failure when GPG raises ``InvalidSigners`` instead of
+    ``GPGMEError`` on systems without usable secret keys.
+  * Object store ``close()`` methods can now be called multiple times safely.
+    Object stores now raise ``ResourceWarning`` when destroyed with unclosed
+    resources.
+- Update to 0.25.1
+  * Add signature vendor system for signing and verifying Git objects.
+    Supports GPG, SSH signatures, and X.509 certificates.
+  * Add support for partial clone with object filtering.
+  * Fix sparse pattern matching in worktree operations.
+  * ``dulwich.porcelain.status`` now returns regular strings.
+  * Fix AssertionError when accessing ref names with length matching binary
+    hash length (e.g., 32 bytes for SHA-256).
+  * Fix commit graph parsing failure when processing commits with 3+ parents
+    (octopus merges) with incomplete EXTRA_EDGE_LIST chunk data.
+  * Add ``parse_commit_broken`` function to parse broken commits.
+  * Add basic ``dulwich.aiohttp`` module that provides server support.
+  * Add callback-based authentication support for HTTP and proxy authentication
+    in ``Urllib3HttpGitClient``. This allows applications to handle
+    authentication dynamically without intercepting exceptions. Callbacks
+    receive the authentication scheme information (via WWW-Authenticate or
+    Proxy-Authenticate headers) and can provide credentials or cancel.
+- Update to 0.25.0
+  * **PLEASE NOTE**: This release makes quite a lot of changes to public APIs.
+    This is ahead of a 1.0 release, after which API changes will be kept
+    backwards compatible.
+  * Split out worktree module from porcelain into separate ``dulwich.worktree``
+    module for better code organization.
+  * Split porcelain module into separate submodules: 
``dulwich.porcelain.tags``,
+    ``dulwich.porcelain.notes``, ``dulwich.porcelain.submodule``, and
+    ``dulwich.porcelain.lfs``. Main porcelain module re-exports all functions
+    for backward compatibility.
+  * Ensure ``dulwich.porcelain`` package is properly installed as a directory
+    structure with submodules.
+  * Add tests for consistent license preamble across codebase and prevent
+    ``os.environ`` usage in lower layers.
+  * Add ``__all__`` exports to all modules for better API clarity and wildcard
+    import support.
+  * Fix ParamikoSSHVendor interface compatibility with SSHVendor.
+  * Add fallback when HEAD is missing in dumb HTTP protocol, improving
+    compatibility with repositories that don't have a HEAD reference.
+  * Fix smudge filter subprocess fallback for special characters in path.
+  * Fix UTF-8 decode error in process filter protocol when handling binary
+    files.
+  * Fix ``porcelain.add()`` to correctly handle ``None`` values in pathspec
+    parameter.
+  * Add ``--stat`` argument to ``dulwich diff`` command to display diffstat
+    summary showing files changed and line additions/deletions.
+  * Avoid signing commits in ``porcelain.stash()`` operations to prevent
+    GPG prompt interruptions during automated stashing.
+  * Improve error handling when trying to remove non-empty directories during
+    worktree operations.
+  * Move greenthreads support to dulwich/contrib.
+    This code isn't really developed and only used
+    by the swift support.
+  * Move protocol-level peeled tags functions (``serialize_refs()``,
+    ``write_info_refs()``, ``split_peeled_refs()``, ``strip_peeled_refs()``)
+    from ``dulwich.refs`` to ``dulwich.protocol``. The ``^{}`` peeled tags 
syntax
+    is now properly isolated to protocol-level code. Remove 
``InfoRefsContainer``
+    class (functionality inlined into ``SwiftInfoRefsContainer``).
+  * Fix ``get_unstaged_changes()`` to correctly pass Blob objects to filter
+    callbacks instead of raw bytes. This fixes crashes when using
+    ``.gitattributes`` files with filter callbacks like ``checkin_normalize``.
+  * The ``ObjectID`` and ``Ref`` types are now newtypes, making it harder to
+    accidentally pass the wrong type - as notified by mypy. Most of this is in
+    lower-level code.
+  * Implement support for ``core.sharedRepository`` configuration option.
+    Repository files and directories now respect shared repository permissions
+    for group-writable or world-writable repositories. Affects loose objects,
+    pack files, pack indexes, index files, and other git metadata files.
+  * Optimize status performance by using stat matching to skip reading
+    and filtering unchanged files. This provides significant performance
+    improvements for repositories with LFS filters, where filter operations can
+    be very expensive. The optimization matches Git's behavior of using mtime
+    and size comparisons to determine if files need processing. File entries
+    now use nanosecond-resolution timestamps for more accurate change detection
+  * Add support for multi-pack index (MIDX) files for improved performance with
+    multiple pack files. Supports reading and writing MIDX files, including 
mmap
+    support for efficient loading. Enables faster object lookups across 
multiple
+    packs.
+  * Implement ``git restore`` and ``git switch`` commands with corresponding
+    porcelain functions. The ``restore`` command allows restoring files from
+    commits or the index, while ``switch`` provides branch switching 
functionality.
+  * Add support for ``core.protectHFS`` configuration option to protect against
+    HFS+ filesystem vulnerabilities.
+  * Skip tests that require the merge3 module when it is not available, 
improving
+    test compatibility across different Python environments.
+  * Drop support for Python 3.9.
+  * Add support for pack bitmap indexes for fast reachability queries.
+  * Add support for ``git rerere`` (reuse recorded resolution) with CLI
+    subcommands and porcelain functions. Supports ``rerere.enabled`` and
+    ``rerere.autoupdate`` configuration.
+  * Add support for ``git mailinfo`` command to extract patch information from
+    email messages. Implements ``dulwich mailinfo`` CLI command,
+    ``porcelain.mailinfo()``, and ``patch.mailinfo()`` with support for subject
+    munging, -k/-b flags, --scissors, --encoding, and --message-id options.
+  * Add support for column formatting.
+  * Add ``dulwich diagnose`` command to display diagnostic information about
+    the Python environment including Python version, PYTHONPATH, sys.path,
+    Dulwich version, and installed dependencies with their versions.
+  * Add support for SHA256 repositories. Dulwich can now read and write Git
+    repositories using SHA256 object format. This includes support for loose
+    objects, pack files (v1 and v2 indexes), tree parsing with SHA256 hashes,
+    pack bitmap indexes, commit graphs, and network protocol operations
+    (clone, fetch, push). The Rust extensions have been updated to support
+    variable hash lengths. SHA256 repositories require format version 1 and the
+    objectFormat extension. The ``dulwich init`` command now supports
+    ``--objectformat`` option to create SHA256 repositories. Client and server
+    implementations advertise and negotiate object-format capabilities.
+
+-------------------------------------------------------------------

Old:
----
  dulwich-0.22.8.tar.gz

New:
----
  dulwich-0.25.2.tar.gz

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

Other differences:
------------------
++++++ python-dulwich.spec ++++++
--- /var/tmp/diff_new_pack.RsMVZy/_old  2026-01-21 14:15:11.985467656 +0100
+++ /var/tmp/diff_new_pack.RsMVZy/_new  2026-01-21 14:15:11.989467830 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-dulwich
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -25,7 +25,7 @@
 %{?sle15_python_module_pythons}
 %define oldpython python
 Name:           python-dulwich
-Version:        0.22.8
+Version:        0.25.2
 Release:        0
 Summary:        Pure-Python Git Library
 License:        Apache-2.0 OR GPL-2.0-or-later
@@ -40,20 +40,22 @@
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 %if %{with test}
-BuildRequires:  %{python_module Sphinx}
+BuildRequires:  %{python_module aiohttp}
 BuildRequires:  %{python_module fastimport}
 BuildRequires:  %{python_module geventhttpclient}
 BuildRequires:  %{python_module gevent}
 BuildRequires:  %{python_module gpg}
+BuildRequires:  %{python_module merge3}
 BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module typing_extensions if %python-base < 3.8}
+BuildRequires:  %{python_module typing_extensions if %python-base < 3.12}
 BuildRequires:  %{python_module urllib3 >= 1.24.1}
+BuildRequires:  openssh-common
 %if 0%{?suse_version} <= 1500
 BuildRequires:  python-mock
 %endif
 %endif
 Requires:       python-urllib3 >= 1.24.1
-%if %{python_version_nodots} < 38
+%if %{python_version_nodots} < 312
 Requires:       python-typing_extensions
 %endif
 Requires(post): update-alternatives
@@ -69,10 +71,13 @@
 
 %prep
 %autosetup -p1 -n dulwich-dulwich-%{version}
-sed -i '/usr\/bin\/env/d' dulwich/contrib/diffstat.py
+sed -i '/usr\/bin\/env/d' dulwich/diffstat.py
 
 %build
 export CFLAGS="%{optflags}"
+# Rust extensions currently don't build because
+# of missing vendoring
+# TODO: fix building with Rust extensions
 %pyproject_wheel
 
 %install
@@ -85,7 +90,10 @@
 
 %check
 %if %{with test}
-%python_expand $python -m unittest tests.test_suite
+# These tests break the testsuite with a NameError if type checking is not 
enabled
+rm tests/contrib/test_swift.py
+rm tests/contrib/test_swift_smoke.py
+%pytest tests/ -k "not (test_filter_branch_index_filter)"
 %endif
 
 %post

++++++ dulwich-0.22.8.tar.gz -> dulwich-0.25.2.tar.gz ++++++
++++ 147842 lines of diff (skipped)

Reply via email to