|
1 News |
|
2 ==== |
|
3 |
|
4 .. contents:: |
|
5 |
|
6 0.9 |
|
7 --- |
|
8 |
|
9 * Added ``req.urlarg``, which represents positional arguments in |
|
10 ``environ['wsgiorg.routing_args']``. |
|
11 |
|
12 * For Python 2.4, added attribute get/set proxies on exception objects |
|
13 from, for example, ``webob.exc.HTTPNotFound().exception``, so that |
|
14 they act more like normal response objects (despite not being |
|
15 new-style classes or ``webob.Response`` objects). In Python 2.5 the |
|
16 exceptions are ``webob.Response`` objects. |
|
17 |
|
18 Backward Incompatible Changes |
|
19 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
20 |
|
21 * The ``Response`` constructor has changed: it is now ``Response([body], |
|
22 [status], ...)`` (before it was ``Response([status], [body], ...)``). |
|
23 Body may be str or unicode. |
|
24 |
|
25 * The ``Response`` class defaults to ``text/html`` for the |
|
26 Content-Type, and ``utf8`` for the charset (charset is only set on |
|
27 ``text/*`` and ``application/*+xml`` responses). |
|
28 |
|
29 Bugfixes and Small Changes |
|
30 ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
31 |
|
32 * Use ``BaseCookie`` instead of ``SimpleCookie`` for parsing cookies. |
|
33 |
|
34 * Added ``resp.write(text)`` method, which is equivalent to |
|
35 ``resp.body += text`` or ``resp.unicode_body += text``, depending on |
|
36 the type of ``text``. |
|
37 |
|
38 * The ``decode_param_names`` argument (used like |
|
39 ``Request(decode_param_names=True)``) was being ignored. |
|
40 |
|
41 * Unicode decoding of file uploads and file upload filenames were |
|
42 causing errors when decoding non-file-upload fields (both fixes from |
|
43 Ryan Barrett). |
|
44 |
|
45 0.8.5 |
|
46 ----- |
|
47 |
|
48 * Added response methods ``resp.encode_content()`` and |
|
49 ``resp.decode_content()`` to gzip or ungzip content. |
|
50 |
|
51 * ``Response(status=404)`` now works (before you would have to use |
|
52 ``status="404 Not Found"``). |
|
53 |
|
54 * Bugfix (typo) with reusing POST body. |
|
55 |
|
56 * Added ``226 IM Used`` response status. |
|
57 |
|
58 * Backport of ``string.Template`` included for Python 2.3 |
|
59 compatibility. |
|
60 |
|
61 0.8.4 |
|
62 ----- |
|
63 |
|
64 * ``__setattr__`` would keep ``Request`` subclasses from having |
|
65 properly settable environ proxies (like ``req.path_info``). |
|
66 |
|
67 0.8.3 |
|
68 ----- |
|
69 |
|
70 * ``request.POST`` was giving FieldStorage objects for *every* |
|
71 attribute, not just file uploads. This is fixed now. |
|
72 |
|
73 |
|
74 * Added request attributes ``req.server_name`` and ``req.server_port`` |
|
75 for the environ keys ``SERVER_NAME`` and ``SERVER_PORT``. |
|
76 |
|
77 * Avoid exceptions in ``req.content_length``, even if |
|
78 ``environ['CONTENT_LENGTH']`` is somehow invalid. |
|
79 |
|
80 0.8.2 |
|
81 ----- |
|
82 |
|
83 * Python 2.3 compatibility: backport of ``reversed(seq)`` |
|
84 |
|
85 * Made separate ``.exception`` attribute on ``webob.exc`` objects, |
|
86 since new-style classes can't be raised as exceptions. |
|
87 |
|
88 * Deprecate ``req.postvars`` and ``req.queryvars``, instead using the |
|
89 sole names ``req.GET`` and ``req.POST`` (also ``req.str_GET`` and |
|
90 ``req.str_POST``). The old names give a warning; will give an error |
|
91 in next release, and be completely gone in the following release. |
|
92 |
|
93 * ``req.user_agent`` is now just a simple string (parsing the |
|
94 User-Agent header was just too volatile, and required too much |
|
95 knowledge about current browsers). Similarly, |
|
96 ``req.referer_search_query()`` is gone. |
|
97 |
|
98 * Added parameters ``version`` and ``comment`` to |
|
99 ``Response.set_cookie()``, per William Dode's suggestion. |
|
100 |
|
101 * Was accidentally consuming file uploads, instead of putting the |
|
102 ``FieldStorage`` object directly in the parameters. |
|
103 |
|
104 0.8.1 |
|
105 ----- |
|
106 |
|
107 * Added ``res.set_cookie(..., httponly=True)`` to set the ``HttpOnly`` |
|
108 attribute on the cookie, which keeps Javascript from reading the |
|
109 cookie. |
|
110 |
|
111 * Added some WebDAV-related responses to ``webob.exc`` |
|
112 |
|
113 * Set default ``Last-Modified`` when using ``response.cache_expire()`` |
|
114 (fixes issue with Opera) |
|
115 |
|
116 * Generally fix ``.cache_control`` |
|
117 |
|
118 0.8 |
|
119 --- |
|
120 |
|
121 First release. Nothing is new, or everything is new, depending on how |
|
122 you think about it. |
|
123 |