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

Reply via email to