51
51
<div class="section" id="news">
52
<h1><a class="toc-backref" href="#id16">News</a><a class="headerlink" href="#news" title="Permalink to this headline">¶</a></h1>
53
<div class="contents topic">
54
<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
52
<h1><a class="toc-backref" href="#id18">News</a><a class="headerlink" href="#news" title="Permalink to this headline">¶</a></h1>
53
<div class="contents topic" id="contents">
54
<p class="topic-title first">Contents</p>
55
55
<ul class="simple">
56
<li><a class="reference" href="#news" id="id16" name="id16">News</a><ul>
57
<li><a class="reference" href="#id1" id="id17" name="id17">0.9.7</a></li>
58
<li><a class="reference" href="#id2" id="id18" name="id18">0.9.6.1</a></li>
59
<li><a class="reference" href="#id3" id="id19" name="id19">0.9.6</a></li>
60
<li><a class="reference" href="#id4" id="id20" name="id20">0.9.5</a></li>
61
<li><a class="reference" href="#id5" id="id21" name="id21">0.9.4</a></li>
62
<li><a class="reference" href="#id6" id="id22" name="id22">0.9.3</a></li>
63
<li><a class="reference" href="#id7" id="id23" name="id23">0.9.2</a></li>
64
<li><a class="reference" href="#id8" id="id24" name="id24">0.9.1</a></li>
65
<li><a class="reference" href="#id9" id="id25" name="id25">0.9</a><ul>
66
<li><a class="reference" href="#backward-incompatible-changes" id="id26" name="id26">Backward Incompatible Changes</a></li>
67
<li><a class="reference" href="#bugfixes-and-small-changes" id="id27" name="id27">Bugfixes and Small Changes</a></li>
56
<li><a class="reference internal" href="#news" id="id18">News</a><ul>
57
<li><a class="reference internal" href="#id1" id="id19">0.9.8</a></li>
58
<li><a class="reference internal" href="#id2" id="id20">0.9.7.1</a></li>
59
<li><a class="reference internal" href="#id3" id="id21">0.9.7</a></li>
60
<li><a class="reference internal" href="#id4" id="id22">0.9.6.1</a></li>
61
<li><a class="reference internal" href="#id5" id="id23">0.9.6</a></li>
62
<li><a class="reference internal" href="#id6" id="id24">0.9.5</a></li>
63
<li><a class="reference internal" href="#id7" id="id25">0.9.4</a></li>
64
<li><a class="reference internal" href="#id8" id="id26">0.9.3</a></li>
65
<li><a class="reference internal" href="#id9" id="id27">0.9.2</a></li>
66
<li><a class="reference internal" href="#id10" id="id28">0.9.1</a></li>
67
<li><a class="reference internal" href="#id11" id="id29">0.9</a><ul>
68
<li><a class="reference internal" href="#backward-incompatible-changes" id="id30">Backward Incompatible Changes</a></li>
69
<li><a class="reference internal" href="#bugfixes-and-small-changes" id="id31">Bugfixes and Small Changes</a></li>
70
<li><a class="reference" href="#id10" id="id28" name="id28">0.8.5</a></li>
71
<li><a class="reference" href="#id11" id="id29" name="id29">0.8.4</a></li>
72
<li><a class="reference" href="#id12" id="id30" name="id30">0.8.3</a></li>
73
<li><a class="reference" href="#id13" id="id31" name="id31">0.8.2</a></li>
74
<li><a class="reference" href="#id14" id="id32" name="id32">0.8.1</a></li>
75
<li><a class="reference" href="#id15" id="id33" name="id33">0.8</a></li>
72
<li><a class="reference internal" href="#id12" id="id32">0.8.5</a></li>
73
<li><a class="reference internal" href="#id13" id="id33">0.8.4</a></li>
74
<li><a class="reference internal" href="#id14" id="id34">0.8.3</a></li>
75
<li><a class="reference internal" href="#id15" id="id35">0.8.2</a></li>
76
<li><a class="reference internal" href="#id16" id="id36">0.8.1</a></li>
77
<li><a class="reference internal" href="#id17" id="id37">0.8</a></li>
80
82
<div class="section" id="id1">
81
<h2><a class="toc-backref" href="#id17">0.9.7</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
83
<h2><a class="toc-backref" href="#id19">0.9.8</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
85
<li>Fix issue with WSGIHTTPException inadvertently generating unicode body
86
and failing to encode it</li>
87
<li>WWW-Authenticate response header is accessible as
88
<tt class="docutils literal"><span class="pre">response.www_authenticate</span></tt></li>
89
<li><tt class="docutils literal"><span class="pre">response.www_authenticate</span></tt> and <tt class="docutils literal"><span class="pre">request.authorization</span></tt> hold None
90
or tuple <tt class="docutils literal"><span class="pre">(auth_method,</span> <span class="pre">params)</span></tt> where <tt class="docutils literal"><span class="pre">params</span></tt> is a dictionary
91
(or a string when <tt class="docutils literal"><span class="pre">auth_method</span></tt> is not one of known auth schemes
92
and for Authenticate: Basic ...)</li>
93
<li>Don’t share response headers when getting a response like <tt class="docutils literal"><span class="pre">resp</span> <span class="pre">=</span>
94
<span class="pre">req.get_response(some_app)</span></tt>; this can avoid some funny errors with
95
modifying headers and reusing Response objects.</li>
96
<li>Add <cite>overwrite</cite> argument to <tt class="xref docutils literal"><span class="pre">Response.set_cookie()</span></tt> that make the
97
new value overwrite the previously set. <cite>False</cite> by default.</li>
98
<li>Add <cite>strict</cite> argument to <tt class="xref docutils literal"><span class="pre">Response.unset_cookie()</span></tt> that controls
99
if an exception should be raised in case there are no cookies to unset.
100
<cite>True</cite> by default.</li>
101
<li>Fix <tt class="docutils literal"><span class="pre">req.GET.copy()</span></tt></li>
102
<li>Make sure that 304 Not Modified responses generated by
103
<tt class="xref docutils literal"><span class="pre">Response.conditional_response_app()</span></tt> exclude Content-{Length/Type}
105
<li>Fix <tt class="docutils literal"><span class="pre">Response.copy()</span></tt> not being an independent copy</li>
106
<li>When the requested range is not satisfiable, return a 416 error
107
(was returning entire body)</li>
108
<li>Truncate response for range requests that go beyond the end of body
109
(was treating as invalid).</li>
112
<div class="section" id="id2">
113
<h2><a class="toc-backref" href="#id20">0.9.7.1</a><a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
115
<li>Fix an import problem with Pylons</li>
118
<div class="section" id="id3">
119
<h2><a class="toc-backref" href="#id21">0.9.7</a><a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
82
120
<ul class="simple">
83
121
<li>Moved repository from svn location to
84
<a class="reference" href="http://bitbucket.org/ianb/webob/">http://bitbucket.org/ianb/webob/</a></li>
122
<a class="reference external" href="http://bitbucket.org/ianb/webob/">http://bitbucket.org/ianb/webob/</a></li>
85
123
<li>Arguments to <tt class="xref docutils literal"><span class="pre">Accept.best_match()</span></tt> must be specific types,
86
124
not wildcards. The server should know a list of specic types it can
87
125
offer and use <tt class="docutils literal"><span class="pre">best_match</span></tt> to select a specific one.</li>
126
164
<tt class="docutils literal"><span class="pre">__setattr__</span></tt>. (chrism)</li>
127
165
<li>Added response attribute <tt class="docutils literal"><span class="pre">response.content_disposition</span></tt> for its
128
166
associated header.</li>
129
<li>Changed how <tt class="docutils literal"><span class="pre">charset</span></tt> is determined on <a title="webob.Request" class="reference" href="modules/webob.html#webob.Request"><tt class="xref docutils literal"><span class="pre">webob.Request</span></tt></a>
167
<li>Changed how <tt class="docutils literal"><span class="pre">charset</span></tt> is determined on <a title="webob.Request" class="reference external" href="modules/webob.html#webob.Request"><tt class="xref docutils literal"><span class="pre">webob.Request</span></tt></a>
130
168
objects. Now the <tt class="docutils literal"><span class="pre">charset</span></tt> parameter is read on the Content-Type
131
169
header, if it is present. Otherwise a <tt class="docutils literal"><span class="pre">default_charset</span></tt> parameter
132
170
is read, or the <tt class="docutils literal"><span class="pre">charset</span></tt> argument to the Request constructor.
133
This is more similar to how <a title="webob.Response" class="reference" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a> handles the
171
This is more similar to how <a title="webob.Response" class="reference external" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a> handles the
135
173
<li>Made the case of the Content-Type header consistent (note: this
136
174
might break some doctests).</li>
184
222
<li>Added <tt class="xref docutils literal"><span class="pre">webob.Response.copy()</span></tt></li>
187
<div class="section" id="id4">
188
<h2><a class="toc-backref" href="#id20">0.9.5</a><a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
225
<div class="section" id="id6">
226
<h2><a class="toc-backref" href="#id24">0.9.5</a><a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
189
227
<ul class="simple">
190
228
<li>Fix <tt class="docutils literal"><span class="pre">Request.blank('/').copy()</span></tt> raising an exception.</li>
191
229
<li>Fix a potential memory leak with HEAD requests and 304 responses.</li>
192
<li>Make <a title="webob.html_escape" class="reference" href="modules/webob.html#webob.html_escape"><tt class="xref docutils literal"><span class="pre">webob.html_escape()</span></tt></a> respect the <tt class="docutils literal"><span class="pre">.__html__()</span></tt> magic
230
<li>Make <a title="webob.html_escape" class="reference external" href="modules/webob.html#webob.html_escape"><tt class="xref docutils literal"><span class="pre">webob.html_escape()</span></tt></a> respect the <tt class="docutils literal"><span class="pre">.__html__()</span></tt> magic
193
231
method, which allows you to use HTML in
194
232
:class`webob.exc.HTTPException` instances.</li>
195
233
<li>Handle unicode values for <tt class="docutils literal"><span class="pre">resp.location</span></tt>.</li>
196
234
<li>Allow arbitrary keyword arguments to <tt class="docutils literal"><span class="pre">exc.HTTP*</span></tt> (the same
197
keywords you can send to <a title="webob.Response" class="reference" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a>).</li>
235
keywords you can send to <a title="webob.Response" class="reference external" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a>).</li>
198
236
<li>Allow setting <tt class="xref docutils literal"><span class="pre">webob.Response.cache_expires()</span></tt> (usually it is
199
237
called as a method). This is primarily to allow
200
238
<tt class="docutils literal"><span class="pre">Response(cache_expires=True)</span></tt>.</li>
203
<div class="section" id="id5">
204
<h2><a class="toc-backref" href="#id21">0.9.4</a><a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
241
<div class="section" id="id7">
242
<h2><a class="toc-backref" href="#id25">0.9.4</a><a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
205
243
<ul class="simple">
206
244
<li>Quiet Python 2.6 deprecation warnings.</li>
207
<li>Added an attribute <tt class="docutils literal"><span class="pre">unicode_errors</span></tt> to <a title="webob.Response" class="reference" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a> –
245
<li>Added an attribute <tt class="docutils literal"><span class="pre">unicode_errors</span></tt> to <a title="webob.Response" class="reference external" href="modules/webob.html#webob.Response"><tt class="xref docutils literal"><span class="pre">webob.Response</span></tt></a> –
208
246
if set to something like <tt class="docutils literal"><span class="pre">unicode_errors='replace'</span></tt> it will decode
209
247
<tt class="docutils literal"><span class="pre">resp.body</span></tt> appropriately. The default is <tt class="docutils literal"><span class="pre">strict</span></tt> (which was
210
248
the former un-overridable behavior).</li>
213
<div class="section" id="id6">
214
<h2><a class="toc-backref" href="#id22">0.9.3</a><a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
251
<div class="section" id="id8">
252
<h2><a class="toc-backref" href="#id26">0.9.3</a><a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2>
215
253
<ul class="simple">
216
254
<li>Make sure that if changing the body the Content-MD5 header is
217
255
removed. (Otherwise a lot of middleware would accidentally
384
422
<div class="sphinxsidebarwrapper">
385
423
<h3><a href="index.html">Table Of Contents</a></h3>
387
<li><a class="reference" href="">News</a><ul>
388
<li><a class="reference" href="#id1">0.9.7</a></li>
389
<li><a class="reference" href="#id2">0.9.6.1</a></li>
390
<li><a class="reference" href="#id3">0.9.6</a></li>
391
<li><a class="reference" href="#id4">0.9.5</a></li>
392
<li><a class="reference" href="#id5">0.9.4</a></li>
393
<li><a class="reference" href="#id6">0.9.3</a></li>
394
<li><a class="reference" href="#id7">0.9.2</a></li>
395
<li><a class="reference" href="#id8">0.9.1</a></li>
396
<li><a class="reference" href="#id9">0.9</a><ul>
397
<li><a class="reference" href="#backward-incompatible-changes">Backward Incompatible Changes</a></li>
398
<li><a class="reference" href="#bugfixes-and-small-changes">Bugfixes and Small Changes</a></li>
425
<li><a class="reference external" href="">News</a><ul>
426
<li><a class="reference external" href="#id1">0.9.8</a></li>
427
<li><a class="reference external" href="#id2">0.9.7.1</a></li>
428
<li><a class="reference external" href="#id3">0.9.7</a></li>
429
<li><a class="reference external" href="#id4">0.9.6.1</a></li>
430
<li><a class="reference external" href="#id5">0.9.6</a></li>
431
<li><a class="reference external" href="#id6">0.9.5</a></li>
432
<li><a class="reference external" href="#id7">0.9.4</a></li>
433
<li><a class="reference external" href="#id8">0.9.3</a></li>
434
<li><a class="reference external" href="#id9">0.9.2</a></li>
435
<li><a class="reference external" href="#id10">0.9.1</a></li>
436
<li><a class="reference external" href="#id11">0.9</a><ul>
437
<li><a class="reference external" href="#backward-incompatible-changes">Backward Incompatible Changes</a></li>
438
<li><a class="reference external" href="#bugfixes-and-small-changes">Bugfixes and Small Changes</a></li>
401
<li><a class="reference" href="#id10">0.8.5</a></li>
402
<li><a class="reference" href="#id11">0.8.4</a></li>
403
<li><a class="reference" href="#id12">0.8.3</a></li>
404
<li><a class="reference" href="#id13">0.8.2</a></li>
405
<li><a class="reference" href="#id14">0.8.1</a></li>
406
<li><a class="reference" href="#id15">0.8</a></li>
441
<li><a class="reference external" href="#id12">0.8.5</a></li>
442
<li><a class="reference external" href="#id13">0.8.4</a></li>
443
<li><a class="reference external" href="#id14">0.8.3</a></li>
444
<li><a class="reference external" href="#id15">0.8.2</a></li>
445
<li><a class="reference external" href="#id16">0.8.1</a></li>
446
<li><a class="reference external" href="#id17">0.8</a></li>