Skip to content

Latest commit

 

History

History
445 lines (289 loc) · 8.63 KB

HISTORY.rst

File metadata and controls

445 lines (289 loc) · 8.63 KB

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. 481

4.7.5 (2020-02-21)

Bugfixes

  • Fixed creating and updating of ~multidict.MultiDict from a sequence of pairs and keyword arguments. Previously passing a list argument modified it inplace, and other sequences caused an error. 457
  • Fixed comparing with mapping: an exception raised in the :py~object.__len__ method caused raising a SyntaxError. 459
  • Fixed comparing with mapping: all exceptions raised in the :py~object.__getitem__ method were silenced. 460

4.7.4 (2020-01-11)

Bugfixes

  • MultiDict.iter fix memory leak when used iterator over :py~multidict.MultiDict instance. 452

Multidict 4.7.3 (2019-12-30)

Features

  • Implement __sizeof__ function to correctly calculate all internal structures size. 444
  • Expose getversion() function. 451

Bugfixes

  • Fix crashes in popone/popall when default is returned. 450

Improved Documentation

  • Corrected the documentation for MultiDict.extend() 446

4.7.2 (2019-12-20)

Bugfixes

  • Fixed crashing when multidict is used pyinstaller 432
  • Fixed typing for :pyCIMultiDict.copy() <multidict.MultiDict.copy> 434
  • Fixed a memory leak in :pyMultiDict.copy() <multidict.MultiDict.copy> 443

4.7.1 (2019-12-12)

Bugfixes

  • :pyCIMultiDictProxy.copy() <multidict.MultiDictProxy.copy> fixed to return a case-insensitive :pymultidict._multidict.CIMultiDict() <multidict.MultiDict> object. 427
  • Made :py~multidict.CIMultiDict subclassable again. 416
  • Fixed a regression, multidict.MultiDict can be constructed from an arbitrary iterable of pairs again. 418
  • :pyCIMultiDict.add() <multidict.MultiDict.add> may be called with keyword arguments now. 421

Improved Documentation

  • Mention MULTIDICT_NO_EXTENSIONS environment variable in docs. 393
  • Document the fact that istr preserves the casing of argument untouched but uses internal lower-cased copy for keys comparison. 419

4.7.0 (2019-12-10)

Features

  • Replace Cython optimization with pure C 249
  • Implement __length_hint__() for iterators 310
  • Support the MultiDict[str] generic specialization in the runtime. 392
  • Embed pair_list_t structure into MultiDict Python object 395
  • Embed multidict pairs for small dictionaries to amortize the memory usage. 396
  • Support weak references to C Extension classes. 399
  • Add docstrings to provided classes. 400
  • Merge multidict._istr back with multidict._multidict. 409

Bugfixes

  • Explicitly call tp_free slot on deallocation. 407
  • Return class from __class_getitem__ to simplify subclassing 413

4.6.1 (2019-11-21)

Bugfixes

  • Fix PyPI link for GitHub Issues badge. 391

4.6.0 (2019-11-20)

Bugfixes

  • Fix GC object tracking. 314
  • Preserve the case of istr strings. 374
  • Generate binary wheels for Python 3.8.

4.5.2 (2018-11-28)

  • Fix another memory leak introduced by 4.5.0 release 307

4.5.1 (2018-11-22)

  • Fix a memory leak introduced by 4.5.0 release 306

4.5.0 (2018-11-19)

  • Multidict views ported from Cython to C extension 275

4.4.2 (2018-09-19)

  • Restore Python 3.4 support 289

4.4.1 (2018-09-17)

  • Fix type annotations 283)
  • Allow to install the library on systems without compilation toolset 281

4.4.0 (2018-07-04)

  • Rewrite C implementation to use C pair list.
  • Fix update order when both arg and kwargs are used.

4.3.1 (2018-05-06)

  • Fix a typo in multidict stub file.

4.3.0 (2018-05-06)

  • Polish type hints, make multidict type definitions generic.

4.2.0 (2018-04-15)

  • Publish py.typed flag for type hinting analyzers (mypy etc).

4.1.0 (2018-01-28)

  • Fix key casing in Pure Python implementation of :py~multidict.CIMultiDict 202

4.0.0 (2018-01-14)

  • Started accepting multiple keys in :pyMultiDict.update() <multidict.MultiDict.update> and :pyCIMultiDict.update() <multidict.MultiDict.update>. 199

3.3.2 (2017-11-02)

  • Fix tarball (again)

3.3.1 (2017-11-01)

  • Include .c files in tarball 181

3.3.0 (2017-10-15)

  • Introduce abstract base classes 102
  • Publish OSX binary wheels 153

3.2.0 (2017-09-17)

  • Fix pickling 134
  • Fix equality check when other contains more keys 124
  • Fix :pyCIMultiDict <multidict.CIMultiDict> copy 107

3.1.3 (2017-07-14)

  • Fix build

3.1.2 (2017-07-14)

  • Fix type annotations

3.1.1 (2017-07-09)

  • Remove memory leak in :pyistr <multidict.istr> implementation 105

3.1.0 (2017-06-25)

  • Raise :pyRuntimeError on :pydict iterations if the dict was changed (99)
  • Update __init__.pyi signatures

3.0.0 (2017-06-21)

  • Refactor internal data structures: main dict operations are about 100% faster now.
  • Preserve order on multidict updates

    Updates are md[key] = val and md.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

    68

  • Force keys to :pystr instances 88
  • Implement :py.popall(key[, default]) <multidict.MultiDict.popall> 84
  • :py.pop() <multidict.MultiDict.pop> removes only first occurrence, :py.popone() <multidict.MultiDict.popone> added 92
  • Implement dict's version 86
  • Proxies are not pickable anymore 77

2.1.7 (2017-05-29)

  • Fix import warning on Python 3.6 79

2.1.6 (2017-05-27)

  • Rebuild the library for fixing missing __spec__ attribute 79

2.1.5 (2017-05-13)

  • Build Python 3.6 binary wheels

2.1.4 (2016-12-1)

  • Remove LICENSE filename extension @ MANIFEST.in file 31

2.1.3 (2016-11-26)

  • Add a fastpath for multidict extending by multidict

2.1.2 (2016-09-25)

  • Fixed :pyCIMultiDict.update() <multidict.MultiDict.update> for case of accepting :py~multidict.istr.

2.1.1 (2016-09-22)

  • Fixed the :pyCIMultiDict <multidict.CIMultiDict> constructor for the case of accepting :py~multidict.istr. 11

2.1.0 (2016-09-18)

  • Allow to create proxy from proxy
  • Add type hints (484)

2.0.1 (2016-08-02)

  • Don't crash on {} - MultiDict().keys() and similar operations 6

2.0.0 (2016-07-28)

  • Switch from uppercase approach for case-insensitive string to :pystr.title. 5
  • Deprecate multidict.upstr() class in favor of :py~multidict.istr alias.

1.2.2 (2016-08-02)

  • Don't crash on {} - MultiDict().keys() and similar operations 6

1.2.1 (2016-07-21)

  • Don't expose multidict.__version__

1.2.0 (2016-07-16)

  • Make upstr(upstr('abc')) much faster

1.1.0 (2016-07-06)

  • Don't double-iterate during :pyMultiDict <multidict.MultiDict> initialization 3
  • Fixed :pyCIMultiDict.pop() <multidict.MultiDict.pop>: it is case insensitive now. 1
  • Provide manylinux wheels as well as Windows ones

1.0.3 (2016-03-24)

  • Add missing MANIFEST.in

1.0.2 (2016-03-24)

  • Fix setup build

1.0.0 (2016-02-19)

  • Initial implementation