@@ -43,6 +43,15 @@ Feature
4343 ``acceptable_offers``. See backward incompatibilities below.
4444 See https://github.com/Pylons/webob/pull/462
4545
46+ - Consolidation of ``AcceptLanguage`` header handling into a single class.
47+ See backward incompatibilities below for more information.
48+ See https://github.com/Pylons/webob/pull/463
49+
50+ - ``webob.acceptparse.AcceptLanguage.__contains__`` is undeprecated and its
51+ logic is made consistent with the ``basic_filtering`` algorithm.
52+ See backward incompatibilities below.
53+ See https://github.com/Pylons/webob/pull/463
54+
4655Compatibility
4756~~~~~~~~~~~~~
4857
@@ -114,6 +123,34 @@ Backwards Incompatibilities
114123
115124 See https://github.com/Pylons/webob/pull/462
116125
126+ - Remove ``AcceptLanguageValidHeader``, ``AcceptLanguageNoHeader`` and
127+ ``AcceptLanguageInvalidHeader``. These classes are consolidated into
128+ ``AcceptLanguage`` with a ``header_state`` attribute for users that need
129+ to know the state of the header.
130+ See https://github.com/Pylons/webob/pull/463
131+
132+ - Remove previously-deprecated ``webob.acceptparse.AcceptLanguage`` methods
133+ ``__iter__``, ``best_match`` and ``quality``. Look at using
134+ ``basic_filtering`` and ``lookup`` methods instead that implement
135+ RFC-compliant algorithms for language negotiation.
136+ See https://github.com/Pylons/webob/pull/463
137+
138+ - ``webob.acceptparse.AcceptLanguage.basic_filtering`` now considers supplied
139+ language tags to all match with quality 1.0 if the header itself is missing
140+ or invalid.
141+ See https://github.com/Pylons/webob/pull/463
142+
143+ - ``webob.acceptparse.AcceptEncoding.__contains__`` method is now a thin
144+ wrapper around ``basic_filtering`` which modifies their behavior slightly:
145+
146+ - A tuple can no longer be an offer containing server-side quality values.
147+ - An offer will only match a ``*`` clause in a header if it does not match
148+ any other clauses.
149+ - The ``identity`` offer was not properly considered a match unless the
150+ header explicitly it excluded via ``*;q=0`` or ``identity;q=0``.
151+
152+ See https://github.com/Pylons/webob/pull/463
153+
117154Experimental Features
118155~~~~~~~~~~~~~~~~~~~~~
119156
0 commit comments