- Fix another memory leak introduced by 4.5.0 release #307
- Fix a memory leak introduced by 4.5.0 release #306
- Multidict views ported from Cython to C extension #275
- Restore Python 3.4 support #289
- Rewrite C implementation to use C pair list.
- Fix update order when both
arg
andkwargs
are used.
- Fix a typo in multidict stub file.
- Polish type hints, make multidict type definitions generic.
- Publish
py.typed
flag for type hinting analyzers (mypy
etc).
- Fix key casing in Pure Python implementation of :py:class:`CIMultiDict` #202
- Accept multiple keys in :py:meth:`MultiDict.update` and :py:meth:`CIMultiDict.update` #199
- Fix tarball (again)
- Include .c files in tarball #181
- Fix pickling #134
- Fix equality check when other contains more keys #124
- Fix :py:class:`CIMultiDict <multidict.CIMultiDict>` copy #107
- Fix build
- Fix type annotations
- Remove memory leak in :py:func:`istr <multidict.istr>` implementation #105
- Raise :py:exc:`RuntimeError` on :py:class:`dict` iterations if the dict was changed (:issue:`99`)
- Update
__init__.pyi
signatures
Refactor internal data structures: main dict operations are about 100% faster now.
Preserve order on multidict updates
Updates are
md[key] = val
andmd.update(...)
calls.Now the last entry is replaced with new key/value pair, all previous occurrences are removed.
If key is not present in dictionary the pair is added to the end
Force keys to :py:class:`str` instances #88
Implement :py:func:`.popall(key[, default]) <multidict.MultiDict.popall>` #84
:py:func:`.pop() <multidict.MultiDict.pop>` removes only first occurrence, :py:func:`.popone() <multidict.MultiDict.popone>` added #92
Implement dict's version #86
Proxies are not pickable anymore #77
- Fix import warning on Python 3.6 #79
- Rebuild the library for fixing missing
__spec__
attribute #79
- Build Python 3.6 binary wheels
- Remove
LICENSE
filename extension @MANIFEST.in
file #31
- Add a fastpath for multidict extending by multidict
- Fix :py:func:`CIMultiDict.update <multidict.CIMultiDict.update>` for case of accepting :py:func:`istr <multidict.istr>`
- Fix :py:class:`CIMultiDict <multidict.CIMultiDict>` constructor for case of accepting :py:func:`istr <multidict.istr>` #11
- Allow to create proxy from proxy
- Add type hints (PEP 484)
- Don't crash on
{} - MultiDict().keys()
and similar operations #6
- Switch from uppercase approach for case-insensitive string to :py:func:`str.title() <str.title>` #5
- Deprecate :py:func:`upstr <multidict.upstr>` class in favor of :py:func:`istr <multidict.istr>` alias.
- Don't crash on
{} - MultiDict().keys()
and similar operations #6
- Don't expose
multidict.__version__
- Make
upstr(upstr('abc'))
much faster
- Don't double-iterate during :py:class:`MultiDict <multidict.MultiDict>` initialization #3
- Fix :py:func:`CIMultiDict.pop <multidict.CIMultiDict.pop>`: it is case insensitive now #1
- Provide manylinux wheels as well as Windows ones
- Add missing MANIFEST.in
- Fix setup build
- Initial implementation