1.3a10 (released just a few minutes ago) was a minor brownbag. I have now released 1.3a11 with the following changes:
Bug Fixes --------- - Process the response callbacks and the NewResponse event earlier, to enable mutations to the response to take effect. On Sun, 2010-09-05 at 20:29 -0400, Chris McDonough wrote: > 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 > _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev