thirdparty/google_appengine/lib/webob/docs/news.txt
changeset 109 620f9b141567
equal deleted inserted replaced
108:261778de26ff 109:620f9b141567
       
     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