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
The changelog follows.
- 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
- 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
- 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.
- 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``.
- 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.
- 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
- 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