@@ -43,6 +43,15 @@ Feature
43
43
``acceptable_offers``. See backward incompatibilities below.
44
44
See https://github.com/Pylons/webob/pull/462
45
45
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
+
46
55
Compatibility
47
56
~~~~~~~~~~~~~
48
57
@@ -114,6 +123,34 @@ Backwards Incompatibilities
114
123
115
124
See https://github.com/Pylons/webob/pull/462
116
125
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
+
117
154
Experimental Features
118
155
~~~~~~~~~~~~~~~~~~~~~
119
156
0 commit comments