| | |
| | | 1.1b1 (2011-07-10) |
| | | ================== |
| | | |
| | | Features |
| | | -------- |
| | | |
| | | - It is now possible to invoke ``paster pshell`` even if the paste ini file |
| | | section name pointed to in its argument is not actually a Pyramid WSGI |
| | | application. The shell will work in a degraded mode, and will warn the |
| | | user. See "The Interactive Shell" in the "Creating a Pyramid Project" |
| | | narrative documentation section. |
| | | |
| | | - ``paster pshell`` now offers more built-in global variables by default |
| | | (including ``app`` and ``settings``). See "The Interactive Shell" in the |
| | | "Creating a Pyramid Project" narrative documentation section. |
| | | |
| | | - It is now possible to add a ``[pshell]`` section to your application's .ini |
| | | configuration file, which influences the global names available to a pshell |
| | | session. See "Extending the Shell" in the "Creating a Pyramid Project" |
| | | narrative documentation chapter. |
| | | |
| | | - The ``config.scan`` method has grown a ``**kw`` argument. ``kw`` argument |
| | | represents a set of keyword arguments to pass to the Venusian ``Scanner`` |
| | | object created by Pyramid. (See the Venusian documentation for more |
| | | information about ``Scanner``). |
| | | |
| | | - New request property: ``json_body``. This property will return the |
| | | JSON-decoded variant of the request body. If the request body is not |
| | | well-formed JSON, this property will raise an exception. |
| | | |
| | | - A new value ``http_cache`` can be used as a view configuration |
| | | parameter. |
| | | |
| | | When you supply an ``http_cache`` value to a view configuration, the |
| | | ``Expires`` and ``Cache-Control`` headers of a response generated by the |
| | | associated view callable are modified. The value for ``http_cache`` may be |
| | | one of the following: |
| | | |
| | | - A nonzero integer. If it's a nonzero integer, it's treated as a number |
| | | of seconds. This number of seconds will be used to compute the |
| | | ``Expires`` header and the ``Cache-Control: max-age`` parameter of |
| | | responses to requests which call this view. For example: |
| | | ``http_cache=3600`` instructs the requesting browser to 'cache this |
| | | response for an hour, please'. |
| | | |
| | | - A ``datetime.timedelta`` instance. If it's a ``datetime.timedelta`` |
| | | instance, it will be converted into a number of seconds, and that number |
| | | of seconds will be used to compute the ``Expires`` header and the |
| | | ``Cache-Control: max-age`` parameter of responses to requests which call |
| | | this view. For example: ``http_cache=datetime.timedelta(days=1)`` |
| | | instructs the requesting browser to 'cache this response for a day, |
| | | please'. |
| | | |
| | | - Zero (``0``). If the value is zero, the ``Cache-Control`` and |
| | | ``Expires`` headers present in all responses from this view will be |
| | | composed such that client browser cache (and any intermediate caches) are |
| | | instructed to never cache the response. |
| | | |
| | | - A two-tuple. If it's a two tuple (e.g. ``http_cache=(1, |
| | | {'public':True})``), the first value in the tuple may be a nonzero |
| | | integer or a ``datetime.timedelta`` instance; in either case this value |
| | | will be used as the number of seconds to cache the response. The second |
| | | value in the tuple must be a dictionary. The values present in the |
| | | dictionary will be used as input to the ``Cache-Control`` response |
| | | header. For example: ``http_cache=(3600, {'public':True})`` means 'cache |
| | | for an hour, and add ``public`` to the Cache-Control header of the |
| | | response'. All keys and values supported by the |
| | | ``webob.cachecontrol.CacheControl`` interface may be added to the |
| | | dictionary. Supplying ``{'public':True}`` is equivalent to calling |
| | | ``response.cache_control.public = True``. |
| | | |
| | | Providing a non-tuple value as ``http_cache`` is equivalent to calling |
| | | ``response.cache_expires(value)`` within your view's body. |
| | | |
| | | Providing a two-tuple value as ``http_cache`` is equivalent to calling |
| | | ``response.cache_expires(value[0], **value[1])`` within your view's body. |
| | | |
| | | If you wish to avoid influencing, the ``Expires`` header, and instead wish |
| | | to only influence ``Cache-Control`` headers, pass a tuple as ``http_cache`` |
| | | with the first element of ``None``, e.g.: ``(None, {'public':True})``. |
| | | |
| | | Bug Fixes |
| | | --------- |
| | | |
| | | - Framework wrappers of the original view (such as http_cached and so on) |
| | | relied on being able to trust that the response they were receiving was an |
| | | IResponse. It wasn't always, because the response was resolved by the |
| | | router instead of early in the view wrapping process. This has been fixed. |
| | | |
| | | Documentation |
| | | ------------- |
| | | |
| | | - Added a section in the "Webob" chapter named "Dealing With A JSON-Encoded |
| | | Request Body" (usage of ``request.json_body``). |
| | | |
| | | Behavior Changes |
| | | ---------------- |
| | | |
| | | - The ``paster pshell``, ``paster proutes``, and ``paster pviews`` commands |
| | | now take a single argument in the form ``/path/to/config.ini#sectionname`` |
| | | rather than the previous 2-argument spelling ``/path/to/config.ini |
| | | sectionname``. ``#sectionname`` may be omitted, in which case ``#main`` is |
| | | assumed. |
| | | |
| | | 1.1a4 (2011-07-01) |
| | | ================== |
| | | |