Changelog

Next (Unreleased)

  • Removed deprecated functions: rewrite_url, remove_url_auth, parse_http_accept_header, parse_link_header, and parse_list_header

  • Replaced setup.py/cfg with pyproject.yaml and hatch

  • Replaced tox with hatch environments

  • Replaced usage of the typing module with equivalents following PEP 585

1.9.0 (08-Jul-2022)

  • Removed ietfparse.compat module.

  • Changed algorithms.RemoveUrlAuthResult from a named tuple to a proper class.

  • Deprecated using len() on the return value from algorithms.remove_url_auth()

  • Replace type hints with annotations.

  • Deprecated rewrite_url and remove_url_auth. Use yarl instead. It is an awesome library and a more general solution.

  • Stop building universal wheels

1.8.0 (11-Aug-2021)

  • Removing support for Python versions before 3.7

1.7.0 (04-Nov-2020)

Behavioural Change

headers.parse_accept() used to fail with a ValueError when it encountered an invalid content type value in the header. Now it skips the invalid value. If you want the previous behaviour, then pass strict=True.

1.6.1 (26-Jan-2020)

  • Fixed project URL metadata.

  • Updated links to refer to canonical URLs.

1.6.0 (25-Jan-2020)

  • Switched from travis-ci to circle-ci.

  • Add type stubs.

  • Allow “bad whitespace” around = in link header parameter lists as indicated in RFC 8288#section-3.

  • Replaced nosetests usage with the unittest module.

1.5.1 (04-Mar-2018)

1.5.0 (24-Dec-2017)

  • Officially drop support for Python 2.6 and 3.3.

  • Change headers.parse_accept() to also prefer explicit highest quality preferences over inferred highest quality preferences.

  • Rename the normalized_parameter_values keyword of headers._parse_parameter_list(). The current spelling is retained with a deprecation warning. This will be removed in 2.0.

  • Add normalize_parameter_names keyword to the headers._parse_parameter_list() internal function.

  • Add support for parsing RFC 7239 Forwarded headers with headers.parse_forwarded().

  • Add algorithms.remove_url_auth()

1.4.3 (30-Oct-2017)

1.4.2 (04-Jul-2017)

  • Add formatting of HTTP Link header using str(header).

1.4.1 (03-Apr-2017)

  • Add some documentation about exceptions raised during header parsing.

1.4.0 (18-Oct-2016)

1.3.0 (11-Aug-2016)

  • Added headers.parse_cache_control() which parses HTTP Cache-Control header values into a dictionary.

  • Renamed headers.parse_http_accept_header() to headers.parse_accept(), adding a wrapper function that raises a deprecation function when invoking headers.parse_http_accept_header().

  • Renamed headers.parse_link_header() to headers.parse_link(), adding a wrapper function that raises a deprecation function when invoking headers.parse_link_header().

  • Renamed headers.parse_list_header() to headers.parse_list(), adding a wrapper function that raises a deprecation function when invoking headers.parse_list_header().

1.2.2 (27-May-2015)

1.2.1 (25-May-2015)

  • algorithms.select_content_type() claims to work with datastructures.ContentType` values but it was requiring the augmented ones returned from algorithms.parse_http_accept_header(). IOW, the algorithm required that the quality attribute exist. RFC 7231#section-5.3.1 states that missing quality values are treated as 1.0.

1.2.0 (19-Apr-2015)

1.1.1 (10-Feb-2015)

  • Removed setupext module since it was causing problems with source distributions.

1.1.0 (26-Oct-2014)

  • Added algorithms.rewrite_url()

1.0.0 (21-Sep-2014)