repoze.bfg 1.3a10 has been released.  It is a minor feature release.

To install:

   easy_install -i http://dist.repoze.org/bfg/1.3/simple repoze.bfg

Or use PyPI.

The documentation at http://docs.repoze.org/bfg/1.3 has been updated.

The changelog follows:

1.3a10 (2010-09-05)
===================

Features
--------

- A new ``repoze.bfg.request.Request.add_response_callback`` API has
  been added.  This method is documented in the new
  ``repoze.bfg.request`` API chapter.  It can be used to influence
  response values before a concrete response object has been created.

- The ``repoze.bfg.interfaces.INewResponse`` interface now includes a
  ``request`` attribute; as a result, a handler for INewResponse now
  has access to the request which caused the response.

- Each of the follow methods of the Configurator now allow the
  below-named arguments to be passed as "dotted name strings"
  (e.g. "foo.bar.baz") rather than as actual implementation objects
  that must be imported:

  setup_registry
     root_factory, authentication_policy, authorization_policy,
     debug_logger, locale_negotiator, request_factory,
     renderer_globals_factory

  add_subscriber
     subscriber, iface

  derive_view
     view

  add_view
     view, ``for_``, context, request_type, containment

  add_route()
     view, view_for, factory, ``for_``, view_context

  scan
     package

  add_renderer
     factory

  set_forbidden_view
     view

  set_notfound_view
     view

  set_request_factory
     factory

  set_renderer_globals_factory()
     factory

  set_locale_negotiator
     negotiator

  testing_add_subscriber
     event_iface

Bug Fixes
---------

- The route pattern registered internally for a a local "static view"
  (either via the ``static`` ZCML directive or via the
  ``add_static_view`` method of the configurator) was incorrect.  It
  was regsistered for e.g. ``static*traverse``, while it should have
  been registered for ``static/*traverse``.  Symptom: two static views
  could not reliably be added to a system when they both shared the
  same path prefix (e.g. ``/static`` and ``/static2``).

Backwards Incompatibilities
---------------------------

- The INewResponse event is now not sent to listeners if the response
  returned by view code (or a renderer) is not a "real" response
  (e.g. if it does not have ``.status``, ``.headerlist`` and
  ``.app_iter`` attribtues).

Documentation
-------------

- Add an API chapter for the ``repoze.bfg.request`` module, which
  includes documentation for the ``repoze.bfg.request.Request`` class
  (the "request object").

- Modify the "Request and Response" narrative chapter to reference the
  new ``repoze.bfg.request`` API chapter.  Some content was moved from
  this chapter into the API documentation itself.

- Various changes to denote that Python dotted names are now allowed
  as input to Configurator methods.

Internal
--------

- The (internal) feature which made it possible to attach a
  ``global_response_headers`` attribute to the request (which was
  assumed to contain a sequence of header key/value pairs which would
  later be added to the response by the router), has been removed.
  The functionality of
  ``repoze.bfg.request.Request.add_response_callback`` takes its
  place.

- The ``repoze.bfg.events.NewResponse`` class's construct has changed:
  it now must be created with ``(request, response)`` rather than
  simply ``(response)``.



_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to