repoze.bfg 1.1a4 has been released. It's a bugfix and cleanup release that has
some minor backwards incompatibilities with previous 1.1a releases.
It can be installed via:
easy_install -i http://dist.repoze.org/bfg/1.1/simple repoze.bfg
The docs have been updated and are available from
http://docs.repoze.org/bfg/1.1/ Some new sections exist in the documentation
which explain how to set up ZEO, how to set up sessioning, and how to run BFG
under mod_wsgi.
The changelog follows.
1.1a4 (2009-09-23)
==
Bug Fixes
-
- On 64-bit Linux systems, views that were members of a multiview
(orderings of views with predicates) were not evaluated in the
proper order. Symptom: in a configuration that had two views with
the same name but one with a ``request_method=POST`` predicate and
one without, the one without the predicate would be called
unconditionally (even if the request was a POST request). Thanks
much to Sebastien Douche for providing the buildbots that pointed
this out.
Documentation
-
- Added a tutorial which explains how to use ``repoze.session``
(ZODB-based sessions) in a ZODB-based repoze.bfg app.
- Added a tutorial which explains how to add ZEO to a ZODB-based
``repoze.bfg`` application.
- Added a tutorial which explains how to run a ``repoze.bfg``
application under `mod_wsgi http://code.google.com/p/modwsgi/`_.
See Running a repoze.bfg Application under mod_wsgi in the
tutorials section of the documentation.
Features
- Add a ``repoze.bfg.url.static_url`` API which is capable of
generating URLs to static resources defined by the ``static`` ZCML
directive. See the Views narrative chapter's section titled
Generating Static Resource URLs for more information.
- Add a ``string`` renderer. This renderer converts a non-Response
return value of any view callble into a string. It is documented in
the Views narrative chapter.
- Give the ``route`` ZCML directive the ``view_attr`` and
``view_renderer`` parameters (bring up to speed with 1.1a3
features). These can also be spelled as ``attr`` and ``renderer``.
Backwards Incompatibilities
---
- An object implementing the ``IRenderer`` interface (and
``ITemplateRenderer`, which is a subclass of ``IRenderer``) must now
accept an extra ``system`` argument in its ``__call__`` method
implementation. Values computed by the system (as opposed to by the
view) are passed by the system in the ``system`` parameter, which
will always be a dictionary. Keys in the dictionary include:
``view`` (the view object that returned the value),
``renderer_name`` (the template name or simple name of the
renderer), ``context`` (the context object passed to the view), and
``request`` (the request object passed to the view). Previously
only ITemplateRenderers received system arguments as elements inside
the main ``value`` dictionary.
Internal
- The way ``bfg_view`` declarations are scanned for has been modified.
This should have no external effects.
- Speed: do not register an ITraverserFactory in configure.zcml;
instead rely on queryAdapter and a manual default to
ModelGraphTraverser.
- Speed: do not register an IContextURL in configure.zcml; instead
rely on queryAdapter and a manual default to TraversalContextURL.
- General speed microimprovements for helloworld benchmark: replace
try/excepts with statements which use 'in' keyword.
___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev