Source code

Revision control

Copy as Markdown

Other Tools

=========
Changelog
=========
..
You should *NOT* be adding new change log entries to this file, this
file is managed by towncrier. You *may* edit previous change logs to
fix problems like typo corrections or such.
To add a new change log entry, please see
we named the news folder "changes".
WARNING: Don't drop the next directive!
.. towncrier release notes start
5.1.0 (2020-12-03)
==================
Features
--------
- Support ``GenericAliases`` (``MultiDict[str]``) for Python 3.9+
Bugfixes
--------
- Synchronize the declared supported Python versions in ``setup.py`` with actually supported and tested ones.
----
5.0.1 (2020-11-14)
==================
Bugfixes
--------
- Provide x86 Windows wheels
----
5.0.0 (2020-10-12)
==================
Features
--------
- Provide wheels for ``aarch64``, ``i686``, ``ppc64le``, ``s390x`` architectures on Linux
as well as ``x86_64``.
- Provide wheels for Python 3.9.
Removal
-------
- Drop Python 3.5 support; Python 3.6 is the minimal supported Python version.
Misc
----
----
4.7.6 (2020-05-15)
==================
Bugfixes
--------
- Fixed an issue with some versions of the ``wheel`` dist
failing because of being unable to detect the license file.
----
4.7.5 (2020-02-21)
==================
Bugfixes
--------
- Fixed creating and updating of MultiDict from a sequence of pairs and keyword
arguments. Previously passing a list argument modified it inplace, and other sequences
caused an error.
- Fixed comparing with mapping: an exception raised in the
:py:func:`~object.__len__` method caused raising a SyntaxError.
- Fixed comparing with mapping: all exceptions raised in the
:py:func:`~object.__getitem__` method were silenced.
----
4.7.4 (2020-01-11)
==================
Bugfixes
--------
- ``MultiDict.iter`` fix memory leak when used iterator over
:py:mod:`multidict` instance.
----
4.7.3 (2019-12-30)
==================
Features
--------
- Implement ``__sizeof__`` function to correctly calculate all internal structures size.
- Expose ``getversion()`` function.
Bugfixes
--------
- Fix crashes in ``popone``/``popall`` when default is returned.
Improved Documentation
----------------------
- Corrected the documentation for ``MultiDict.extend()``
----
4.7.2 (2019-12-20)
==================
Bugfixes
--------
- Fix crashing when multidict is used pyinstaller
- Fix typing for :py:meth:`CIMultiDict.copy`
- Fix memory leak in ``MultiDict.copy()``
----
4.7.1 (2019-12-12)
==================
Bugfixes
--------
- :py:meth:`CIMultiDictProxy.copy` return object type
:py:class:`multidict._multidict.CIMultiDict`
- Make :py:class:`CIMultiDict` subclassable again
- Fix regression, multidict can be constructed from arbitrary iterable of pairs again.
- :py:meth:`CIMultiDict.add` may be called with keyword arguments
Improved Documentation
----------------------
- Mention ``MULTIDICT_NO_EXTENSIONS`` environment variable in docs.
- Document the fact that ``istr`` preserves the casing of argument untouched but uses internal lower-cased copy for keys comparison.
----
4.7.0 (2019-12-10)
==================
Features
--------
- Replace Cython optimization with pure C
- Implement ``__length_hint__()`` for iterators
- Support the MultiDict[str] generic specialization in the runtime.
- Embed pair_list_t structure into MultiDict Python object
- Embed multidict pairs for small dictionaries to amortize the memory usage.
- Support weak references to C Extension classes.
- Add docstrings to provided classes.
- Merge ``multidict._istr`` back with ``multidict._multidict``.
Bugfixes
--------
- Explicitly call ``tp_free`` slot on deallocation.
- Return class from __class_getitem__ to simplify subclassing
----
4.6.1 (2019-11-21)
====================
Bugfixes
--------
- Fix PyPI link for GitHub Issues badge.
4.6.0 (2019-11-20)
====================
Bugfixes
--------
- Fix GC object tracking.
- Preserve the case of `istr` strings.
- Generate binary wheels for Python 3.8.