Skip to content

Releases: aio-libs/yarl

1.15.0

12 Oct 02:18
d282f6f
Compare
Choose a tag to compare

Bug fixes

  • Fixed validation with :py:meth:~yarl.URL.with_scheme when passed scheme is not lowercase -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1189.

Features

  • Started building armv7l wheels -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1204.

Miscellaneous internal changes

  • Improved performance of constructing unencoded :class:~yarl.URL objects -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1188.

  • Added a cache for parsing hosts to reduce overhead of encoding :class:~yarl.URL -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1190.

  • Improved performance of constructing query strings from :class:~collections.abc.Mapping -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1193.

  • Improved performance of converting :class:~yarl.URL objects to strings -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1198.


1.14.0

08 Oct 10:21
5a4f23d
Compare
Choose a tag to compare

Packaging updates and notes for downstreams

  • Switched to using the :mod:propcache <propcache.api> package for property caching
    -- by :user:bdraco.

    The :mod:propcache <propcache.api> package is derived from the property caching
    code in :mod:yarl and has been broken out to avoid maintaining it for multiple
    projects.

    Related issues and pull requests on GitHub:
    #1169.

Contributor-facing changes

  • Started testing with Hypothesis -- by :user:webknjaz and :user:bdraco.

    Special thanks to :user:Zac-HD for helping us get started with this framework.

    Related issues and pull requests on GitHub:
    #860.

Miscellaneous internal changes

  • Improved performance of :py:meth:~yarl.URL.is_default_port when no explicit port is set -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1168.

  • Improved performance of converting :class:~yarl.URL to a string when no explicit port is set -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1170.

  • Improved performance of the :py:meth:~yarl.URL.origin method -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1175.

  • Improved performance of encoding hosts -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1176.


1.13.1

27 Sep 20:06
4a77391
Compare
Choose a tag to compare

Miscellaneous internal changes

  • Improved performance of calling :py:meth:~yarl.URL.build with authority -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1163.


1.13.0

27 Sep 00:53
eaae7fd
Compare
Choose a tag to compare

Bug fixes

  • Started rejecting ASCII hostnames with invalid characters. For host strings that
    look like authority strings, the exception message includes advice on what to do
    instead -- by :user:mjpieters.

    Related issues and pull requests on GitHub:
    #880, #954.

  • Fixed IPv6 addresses missing brackets when the :class:~yarl.URL was converted to a string -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1157, #1158.

Features

  • Added :attr:~yarl.URL.host_subcomponent which returns the :rfc:3986#section-3.2.2 host subcomponent -- by :user:bdraco.

    The only current practical difference between :attr:~yarl.URL.raw_host and :attr:~yarl.URL.host_subcomponent is that IPv6 addresses are returned bracketed.

    Related issues and pull requests on GitHub:
    #1159.


1.12.1

23 Sep 22:29
19f2516
Compare
Choose a tag to compare

No significant changes.

This release was created because the signatures failed to upload for 1.12.0


1.12.0

23 Sep 20:25
56e51de
Compare
Choose a tag to compare

Features

  • Added :attr:~yarl.URL.path_safe to be able to fetch the path without %2F and %25 decoded -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1150.

Removals and backward incompatible breaking changes

  • Restore decoding %2F (/) in URL.path -- by :user:bdraco.

    This change restored the behavior before #1057.

    Related issues and pull requests on GitHub:
    #1151.

Miscellaneous internal changes

  • Improved performance of processing paths -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1143.


1.11.1

09 Sep 21:29
134d4cd
Compare
Choose a tag to compare

Bug fixes

  • Allowed scheme replacement for relative URLs if the scheme does not require a host -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #280, #1138.

  • Allowed empty host for URL schemes other than the special schemes listed in the WHATWG URL spec -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1136.

Features

  • Loosened restriction on integers as query string values to allow classes that implement __int__ -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1139.

Miscellaneous internal changes

  • Improved performance of normalizing paths -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1137.


1.11.0

08 Sep 23:21
1bd0937
Compare
Choose a tag to compare

Features

  • Added :meth:URL.extend_query() <yarl.URL.extend_query> method, which can be used to extend parameters without replacing same named keys -- by :user:bdraco.

    This method was primarily added to replace the inefficient hand rolled method currently used in aiohttp.

    Related issues and pull requests on GitHub:
    #1128.

Miscellaneous internal changes

  • Improved performance of the Cython cached_property implementation -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1122.

  • Simplified computing ports by removing unnecessary code -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1123.

  • Improved performance of encoding non IPv6 hosts -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1125.

  • Improved performance of :meth:URL.build() <yarl.URL.build> when the path, query string, or fragment is an empty string -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1126.

  • Improved performance of the :meth:URL.update_query() <yarl.URL.update_query> method -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1130.

  • Improved performance of processing query string changes when arguments are :class:str -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1131.


1.10.0

07 Sep 01:38
67c2c02
Compare
Choose a tag to compare

Bug fixes

  • Fixed joining a path when the existing path was empty -- by :user:bdraco.

    A regression in :meth:URL.join() <yarl.URL.join> was introduced in #1082.

    Related issues and pull requests on GitHub:
    #1118.

Features

  • Added :meth:URL.without_query_params() <yarl.URL.without_query_params> method, to drop some parameters from query string -- by :user:hongquan.

    Related issues and pull requests on GitHub:
    #774, #898, #1010.

  • The previously protected types _SimpleQuery, _QueryVariable, and _Query are now available for use externally as SimpleQuery, QueryVariable, and Query -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1050, #1113.

Contributor-facing changes

  • Replaced all :class:~typing.Optional with :class:~typing.Union -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1095.

Miscellaneous internal changes

  • Significantly improved performance of parsing the network location -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1112.

  • Added internal types to the cache to prevent future refactoring errors -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1117.


1.9.11

05 Sep 03:42
29d693d
Compare
Choose a tag to compare

Bug fixes

  • Fixed a :exc:TypeError with MultiDictProxy and Python 3.8 -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    #1084, #1105, #1107.

Miscellaneous internal changes

  • Improved performance of encoding hosts -- by :user:bdraco.

    Previously, the library would unconditionally try to parse a host as an IP Address. The library now avoids trying to parse a host as an IP Address if the string is not in one of the formats described in :rfc:3986#section-3.2.2.

    Related issues and pull requests on GitHub:
    #1104.