Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-multidict for 
openSUSE:Factory checked in at 2026-04-13 23:18:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-multidict (Old)
 and      /work/SRC/openSUSE:Factory/.python-multidict.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-multidict"

Mon Apr 13 23:18:12 2026 rev:23 rq:1346158 version:6.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-multidict/python-multidict.changes        
2024-10-30 17:29:53.296832030 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-multidict.new.21863/python-multidict.changes 
    2026-04-13 23:18:44.103748555 +0200
@@ -1,0 +2,280 @@
+Tue Apr  7 22:42:43 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 6.7.1:
+  * Fixed slow memory leak caused by identity by adding Py_DECREF
+    to identity value before leaving md_pop_one on success -- by
+    :user:`Vizonex`. Related issues and pull requests on GitHub:
+    :issue:`1284`.
+  * Updated tests and added CI for CPython 3.14 -- by
+    :user:`kumaraditya303`. Related issues and pull requests on
+    GitHub: :issue:`1235`.
+  * Fixed MutliDict & CIMultiDict memory leak when deleting
+    values or clearing them -- by :user:`Vizonex` Related issues
+    and pull requests on GitHub: :issue:`1233`.
+  * The type preciseness coverage report generated by MyPy is now
+    uploaded to Coveralls and will not be included in the Codecov
+    views going forward -- by :user:`webknjaz`. Related issues
+    and pull requests on GitHub: :issue:`1122`, :issue:`1231`.
+  * Added memory leak test for popping or deleting attributes
+    from a multidict to prevent future issues or bogus claims. --
+    by :user:`Vizonex` Related issues and pull requests on
+    GitHub: :issue:`1233`.
+  * Fixed inconsistencies generated by the C implementation of
+    _md_shrink() which might later lead to assertion failures and
+    crash -- by :user:`Romain-Geissler-1A`. Related issues and
+    pull requests on GitHub: :issue:`1229`.
+  * Fixed a memory corruption issue in the C implementation of
+    _md_shrink() that could lead to segmentation faults and data
+    loss when items were deleted from a
+    :class:`~multidict.MultiDict`. The issue was an edge case in
+    the pointer arithmetic during the compaction phase -- by
+    :user:`bdraco`. Related issues and pull requests on GitHub:
+    :issue:`1221`, :issue:`1222`.
+  * Fixed format string compilation errors in debug builds on
+    32-bit platforms by using portable %zd format specifiers for
+    Py_ssize_t values instead of %ld -- by :user:`bdraco`.
+    Related issues and pull requests on GitHub: :issue:`1225`,
+    :issue:`1226`.
+  * Re-enabled 32-bit Linux wheel builds that were disabled by
+    default in cibuildwheel 3.0.0 -- by :user:`bdraco`. Related
+    issues and pull requests on GitHub: :issue:`1225`,
+    :issue:`1227`.
+  * If :meth:`multidict.MultiDict.extend`,
+    :meth:`multidict.MultiDict.merge`, or
+    :meth:`multidict.MultiDict.update` raises an exception, now
+    the multidict internal state is correctly restored. Patch by
+    :user:`asvetlov`. Related issues and pull requests on GitHub:
+    :issue:`1215`.
+  * Fixed setuptools deprecation warning about the license
+    specification -- by :user:`asvetlov`. Related issues and pull
+    requests on GitHub: :issue:`1216`.
+  * Fix compiler warnings and convert them to errors -- by
+    :user:`asvetlov`. Related issues and pull requests on GitHub:
+    :issue:`1217`.
+  * Added :meth:`multidict.MultiDict.merge` which copies all
+    items from arguments if its key not exist in the dictionary
+    -- by :user:`asvetlov`. Related issues and pull requests on
+    GitHub: :issue:`292`.
+  * Stopped reallocating memory for the internal htkeys_t
+    structure when inserting new items if the multidict has
+    deleted items and it could be collapsed in-place.  Removal of
+    malloc()/free() improves the performance slightly. The change
+    affects C implementation only, pure Python code is not
+    changed. Patch by :user:`asvetlov`. Related issues and pull
+    requests on GitHub: :issue:`1200`.
+  * C implementation of :class:`multidict.MultiDict.getall` now
+    is slightly faster if it returns nothing -- by
+    :user:`asvetlov`. Related issues and pull requests on GitHub:
+    :issue:`1212`.
+  * Replaced docstring for :meth:`multidict.MultiDict.update` to
+    don't use RST/markdown markup. Related issues and pull
+    requests on GitHub: :issue:`1203`.
+  * Improved documentation for :meth:`multidict.MultiDict.extend`
+    and :meth:`multidict.MultiDict.update` -- by
+    :user:`asvetlov`. Related issues and pull requests on GitHub:
+    :issue:`1205`.
+  * When building wheels, the source distribution is now passed
+    directly to the cibuildwheel invocation -- by
+    :user:`webknjaz`. Related issues and pull requests on GitHub:
+    :issue:`1199`.
+  * Set up PYTHONHASHSEED for benchmarks execution to make
+    measured times stable -- by :user:`asvetlov`. Related issues
+    and pull requests on GitHub: :issue:`1202`.
+  * Fixed a bug in C implementation when multidict is resized and
+    it has deleted slots. The bug was introduced by multidict
+    6.5.0 release. Patch by :user:`asvetlov`. Related issues and
+    pull requests on GitHub: :issue:`1195`.
+  * A pair of code formatters for Python and C have been
+    configured in the pre-commit tool. Related issues and pull
+    requests on GitHub: :issue:`1123`.
+  * Shorted fixture parametrization ids. For example,
+    test_keys_view_xor[case-insensitive-pure-python-module]
+    becomes test_keys_view_xor[ci-py] -- by :user:`asvetlov`.
+    Related issues and pull requests on GitHub: :issue:`1192`.
+  * The :file:`reusable-cibuildwheel.yml` workflow has been
+    refactored to be more generic and :file:`ci-cd.yml` now holds
+    all the configuration toggles -- by :user:`webknjaz`. Related
+    issues and pull requests on GitHub: :issue:`1193`.
+  * Replace internal implementation from an array of items to
+    hash table. algorithmic complexity for lookups is switched
+    from O(N) to O(1). The hash table is very similar to
+    :class:`dict` from CPython but it allows keys duplication.
+    The benchmark shows 25-50% boost for single lookups, x2-x3
+    for bulk updates, and x20 for some multidict view operations.
+    The gain is not for free: :class:`~multidict.MultiDict.add`
+    and :class:`~multidict.MultiDict.extend` are 25-50% slower
+    now. We consider it as acceptable because the lookup is much
+    more common operation that addition for the library domain.
+    Related issues and pull requests on GitHub: :issue:`1128`.
+  * Builds have been added for arm64 Windows wheels and the
+    reusable-build-wheel.yml template has been modified to allow
+    for an os value (windows-11-arm) which does not end with the
+    -latest postfix. Related issues and pull requests on GitHub:
+    :issue:`1167`.
+  * Fixed a segmentation fault when calling
+    :py:meth:`multidict.MultiDict.setdefault` with a single
+    argument -- by :user:`bdraco`. Related issues and pull
+    requests on GitHub: :issue:`1160`.
+  * Fixed a segmentation fault when attempting to directly
+    instantiate view objects (multidict._ItemsView,
+    multidict._KeysView, multidict._ValuesView) -- by
+    :user:`bdraco`. View objects now raise a proper
+    :exc:`TypeError` with the message "cannot create '...'
+    instances directly" when direct instantiation is attempted.
+    View objects should only be created through the proper
+    methods: :py:meth:`multidict.MultiDict.items`,
+    :py:meth:`multidict.MultiDict.keys`, and
+    :py:meth:`multidict.MultiDict.values`. Related issues and
+    pull requests on GitHub: :issue:`1164`.
+  * :class:`multidict.MultiDictProxy` was refactored to rely only
+    on :class:`multidict.MultiDict` public interface and don't
+    touch any implementation details. Related issues and pull
+    requests on GitHub: :issue:`1150`.
+  * Multidict views were refactored to rely only on
+    :class:`multidict.MultiDict` API and don't touch any
+    implementation details. Related issues and pull requests on
+    GitHub: :issue:`1152`.
+  * Dropped internal _Impl class from pure Python implementation,
+    both pure Python and C Extension follows the same design
+    internally now. Related issues and pull requests on GitHub:
+    :issue:`1153`.
+  * Fixed building the library in debug mode. Related issues and
+    pull requests on GitHub: :issue:`1144`.
+  * Fixed custom PyType_GetModuleByDef() when non-heap type
+    object was passed. Related issues and pull requests on
+    GitHub: :issue:`1147`.
+  * Added the ability to build in debug mode by setting
+    :envvar:`MULTIDICT_DEBUG_BUILD` in the environment -- by
+    :user:`bdraco`. Related issues and pull requests on GitHub:
+    :issue:`1145`.
+  * Fixed a segmentation fault when creating subclassed
+    :py:class:`~multidict.MultiDict` objects on Python < 3.11 --
+    by :user:`bdraco`. The problem first appeared in 6.4.0
+    Related issues and pull requests on GitHub: :issue:`1141`.
+  * Fixed a memory leak creating new :class:`~multidict.istr`
+    objects -- by :user:`bdraco`. The leak was introduced in
+    6.3.0 Related issues and pull requests on GitHub:
+    :issue:`1133`.
+  * Fixed reference counting when calling
+    :py:meth:`multidict.MultiDict.update` -- by :user:`bdraco`.
+    The leak was introduced in 4.4.0 Related issues and pull
+    requests on GitHub: :issue:`1135`.
+  * Switched C Extension to use heap types and the module state.
+    Related issues and pull requests on GitHub: :issue:`1125`.
+  * Started building armv7l wheels -- by :user:`bdraco`. Related
+    issues and pull requests on GitHub: :issue:`1127`.
+  * Resolved a memory leak by ensuring proper reference count
+    decrementation -- by :user:`asvetlov` and :user:`bdraco`.
+    Related issues and pull requests on GitHub: :issue:`1121`.
+  * Fixed keys not becoming case-insensitive when
+    :class:`multidict.CIMultiDict` is created by passing in a
+    :class:`multidict.MultiDict` -- by :user:`bdraco`. Related
+    issues and pull requests on GitHub: :issue:`1112`.
+  * Fixed the pure Python version mutating the original
+    :class:`multidict.MultiDict` when creating a new
+    :class:`multidict.CIMultiDict` from an existing one when
+    keyword arguments are also passed -- by :user:`bdraco`.
+    Related issues and pull requests on GitHub: :issue:`1113`.
+  * Prevented crashing with a segfault when :func:`repr` is
+    called for recursive multidicts and their proxies and views.
+    Related issues and pull requests on GitHub: :issue:`1115`.
+  * Set operations for KeysView and ItemsView of case-insensitive
+    multidicts and their proxies are processed in case-
+    insensitive manner. Related issues and pull requests on
+    GitHub: :issue:`965`.
+  * Rewrote :class:`multidict.CIMultiDict` and it proxy to always
+    return :class:`multidict.istr` keys. istr is derived from
+    :class:`str`, thus the change is backward compatible. The
+    performance boost is about 15% for some operations for C
+    Extension, pure Python implementation have got a visible (15%
+    - 230%) speedup as well. Related issues and pull requests on
+    GitHub: :issue:`1097`.
+  * Fixed a crash when extending a multidict from multidict proxy
+    if C Extensions were used. Related issues and pull requests
+    on GitHub: :issue:`1100`.
+  * Implemented a custom parser for METH_FASTCALL | METH_KEYWORDS
+    protocol -- by :user:`asvetlov`. The patch re-enables fast
+    call protocol in the :py:mod:`multidict` C Extension. Speedup
+    is about 25%-30% for the library benchmarks for Python 3.12+.
+    Related issues and pull requests on GitHub: :issue:`1070`.
+  * The C-extension no longer pre-allocates a Python exception
+    object in lookup-related methods of
+    :py:class:`~multidict.MultiDict` when the passed-in key is
+    not found but default value is provided. Namely, this affects
+    :py:meth:`MultiDict.getone() <multidict.MultiDict.getone>`,
+    :py:meth:`MultiDict.getall() <multidict.MultiDict.getall>`,
+    :py:meth:`MultiDict.get() <multidict.MultiDict.get>`,
+    :py:meth:`MultiDict.pop() <multidict.MultiDict.pop>`,
+    :py:meth:`MultiDict.popone() <multidict.MultiDict.popone>`,
+    and :py:meth:`MultiDict.popall()
+    <multidict.MultiDict.popall>`. Additionally, the
+    :py:class:`~multidict.MultiDict` comparison with regular
+    :py:class:`dict`ionaries is now about 60% faster on Python
+    3.13+ in the fallback-to-default case. Related issues and
+    pull requests on GitHub: :issue:`1078`.
+  * Implemented __repr__() for C Extension classes in C. The
+    speedup is about 2.5 times. Related issues and pull requests
+    on GitHub: :issue:`1081`.
+  * Made C version of :class:`multidict.istr` pickleable. Related
+    issues and pull requests on GitHub: :issue:`1098`.
+  * Optimized multidict creation and extending / updating if C
+    Extensions are used. The speedup is between 25% and 70%
+    depending on the usage scenario. Related issues and pull
+    requests on GitHub: :issue:`1101`.
+  * :meth:`multidict.MultiDict.popitem` is changed to remove the
+    latest entry instead of the first. It gives O(1) amortized
+    complexity. The standard :meth:`dict.popitem` removes the
+    last entry also. Related issues and pull requests on GitHub:
+    :issue:`1105`.
+  * Started running benchmarks for the pure Python implementation
+    in addition to the C implementation -- by :user:`bdraco`.
+    Related issues and pull requests on GitHub: :issue:`1092`.
+  * The the project-wide Codecov_ metric is no longer reported
+    via GitHub Checks API. The combined value is not very useful
+    because one of the sources (MyPy) cannot reach 100% with the
+    current state of the ecosystem. We may want to reconsider in
+    the future. Instead, we now have two separate “runtime
+    coverage” metrics for library code and tests. They are to be
+    kept at 100% at all times. And the “type coverage” metric
+    will remain advisory, at a lower threshold. The default patch
+    metric check is renamed to “runtime” to better reflect its
+    semantics. This one will also require 100% coverage. Another
+    “typing” patch coverage metric is now reported alongside it.
+    It's considered advisory, just like its project counterpart.
+    When looking at Codecov_, one will likely want to look at
+    MyPy and pytest flags separately. It is usually best to avoid
+    looking at the PR pages that sometimes display combined
+    coverage incorrectly. The change additionally disables the
+    deprecated GitHub Annotations integration in Codecov_.
+    Finally, the badge coloring range now starts at 100%.    --
+    by :user:`webknjaz` Related issues and pull requests on
+    GitHub: :issue:`1093`.
+  * Synchronized :file:`pythoncapi_compat.h` with the latest
+    available version. Related issues and pull requests on
+    GitHub: :issue:`1063`.
+  * Moved registering ABCs for C Extension classes from C to
+    Python. Related issues and pull requests on GitHub:
+    :issue:`1083`.
+  * Refactored the internal pair_list implementation. Related
+    issues and pull requests on GitHub: :issue:`1084`.
+  * Implemented views comparison and disjoints in C instead of
+    Python helpers. The performance boost is about 40%. Related
+    issues and pull requests on GitHub: :issue:`1096`.
+  * Fixed in checks throwing an exception instead of returning
+    :data:`False` when testing non-strings. Related issues and
+    pull requests on GitHub: :issue:`1045`.
+  * Fixed a leak when the last accessed module in
+    PyInit__multidict() init is not released. Related issues and
+    pull requests on GitHub: :issue:`1061`.
+  * Implemented support for the free-threaded build of CPython
+    3.13 -- by :user:`lysnikolaou`. Related issues and pull
+    requests on GitHub: :issue:`1015`.
+  * Started publishing wheels made for the free-threaded build of
+    CPython 3.13 -- by :user:`lysnikolaou`. Related issues and
+    pull requests on GitHub: :issue:`1015`.
+  * Used stricter typing across the code base, resulting in
+    improved typing accuracy across multidict classes. Funded by
+    an NLnet grant. Related issues and pull requests on GitHub:
+    :issue:`1046`.
+
+-------------------------------------------------------------------

Old:
----
  multidict-6.1.0.tar.gz

New:
----
  multidict-6.7.1.tar.gz

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

Other differences:
------------------
++++++ python-multidict.spec ++++++
--- /var/tmp/diff_new_pack.F8XjZw/_old  2026-04-13 23:18:44.707773462 +0200
+++ /var/tmp/diff_new_pack.F8XjZw/_new  2026-04-13 23:18:44.711773627 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-multidict
 #
-# Copyright (c) 2024 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
@@ -18,20 +18,26 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-multidict
-Version:        6.1.0
+Version:        6.7.1
 Release:        0
 Summary:        Multidict implementation
 License:        Apache-2.0
 URL:            https://github.com/aio-libs/multidict
 Source:         
https://files.pythonhosted.org/packages/source/m/multidict/multidict-%{version}.tar.gz
+BuildRequires:  %{python_module Cython}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module objgraph}
 BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module psutil}
 BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module typing-extensions}
+BuildRequires:  %{python_module setuptools >= 40}
+BuildRequires:  %{python_module typing-extensions >= 4.1.0 if %python-base < 
3.10}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-typing-extensions
+%if 0%{?python_version_nodots} < 310
+Requires:       python-typing-extensions >= 4.1.0
+%endif
 %python_subpackages
 
 %description
@@ -54,6 +60,8 @@
 %check
 # remove the extra pytest opts
 rm pytest.ini
+# remove codespeed tests
+rm tests/test_*_benchmarks.py
 # test_circular_imports try to import from the system and the module
 # is installed in the buildroot at this point.
 %pytest_arch --ignore tests/test_circular_imports.py

++++++ multidict-6.1.0.tar.gz -> multidict-6.7.1.tar.gz ++++++
++++ 20743 lines of diff (skipped)

Reply via email to