Pyramid 1.3a9 released

44 views
Skip to first unread message

Chris McDonough

unread,
Feb 22, 2012, 9:17:38 PM2/22/12
to pylons-discuss
Pyramid 1.3a9 has been released. 1.3a9 is another alpha in the 1.3
series; it has some features and a few bug fixes. Here's what
happened:

1.3a9 (2012-02-22)
==================

Features
--------

- Add an ``introspection`` boolean to the Configurator constructor.
If this is ``True``, actions registered using the Configurator
will be registered with the introspector. If it is ``False``,
they won't. The default is ``True``. Setting it to ``False``
during action processing will prevent introspection for any
following registration statements, and setting it to ``True`` will
start them up again. This addition is to service a requirement
that the debug toolbar's own views and methods not show up in the
introspector.

- New API: ``pyramid.config.Configurator.add_notfound_view``. This
is a wrapper for ``pyramid.Config.configurator.add_view`` which
provides easy append_slash support and does the right thing about
permissions. It should be preferred over calling ``add_view``
directly with ``context=HTTPNotFound`` as was previously
recommended.

- New API: ``pyramid.view.notfound_view_config``. This is a
decorator constructor like ``pyramid.view.view_config`` that calls
``pyramid.config.Configurator.add_notfound_view`` when scanned.
It should be preferred over using ``pyramid.view.view_config``
with ``context=HTTPNotFound`` as was previously recommended.

- New API: ``pyramid.config.Configurator.add_forbidden_view``. This
is a wrapper for ``pyramid.Config.configurator.add_view`` which
does the right thing about permissions. It should be preferred
over calling ``add_view`` directly with ``context=HTTPForbidden``
as was previously recommended.

- New API: ``pyramid.view.forbidden_view_config``. This is a
decorator constructor like ``pyramid.view.view_config`` that calls
``pyramid.config.Configurator.add_forbidden_view`` when scanned.
It should be preferred over using ``pyramid.view.view_config``
with ``context=HTTPForbidden`` as was previously recommended.

- New APIs: ``pyramid.response.FileResponse`` and
``pyramid.response.FileIter``, for usage in views that must serve
files "manually".

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

- Remove ``pyramid.config.Configurator.with_context`` class method.
It was never an API, it is only used by ``pyramid_zcml`` and its
functionality has been moved to that package's latest release.
This means that you'll need to use the 0.9.2 or later release of
``pyramid_zcml`` with this release of Pyramid.

- The ``introspector`` argument to the
``pyramid.config.Configurator`` constructor API has been removed.
It has been replaced by the boolean ``introspection`` flag.

- The ``pyramid.registry.noop_introspector`` API object has been
removed.

- The older deprecated ``set_notfound_view`` Configurator method is
now an alias for the new ``add_notfound_view`` Configurator
method. Likewise, the older deprecated ``set_forbidden_view`` is
now an alias for the new ``add_forbidden_view``. This has the
following impact: the ``context`` sent to views with a ``(context,
request)`` call signature registered via the ``set_notfound_view``
or ``set_forbidden_view`` will now be an exception object instead
of the actual resource context found. Use ``request.context`` to
get the actual resource context. It's also recommended to disuse
``set_notfound_view`` in favor of ``add_notfound_view``, and
disuse ``set_forbidden_view`` in favor of ``add_forbidden_view``
despite the aliasing.

Deprecations
------------

- The API documentation for
``pyramid.view.append_slash_notfound_view`` and
``pyramid.view.AppendSlashNotFoundViewFactory`` was removed.
These names still exist and are still importable, but they are no
longer APIs. Use
``pyramid.config.Configurator.add_notfound_view(append_slash=True)``
or ``pyramid.view.notfound_view_config(append_slash=True)`` to get
the same behavior.

- The ``set_forbidden_view`` and ``set_notfound_view`` methods of
the Configurator were removed from the documentation. They have
been deprecated since Pyramid 1.1.

Bug Fixes
---------

- The static file response object used by ``config.add_static_view``
opened the static file twice, when it only needed to open it once.

- The AppendSlashNotFoundViewFactory used request.path to match
routes. This was wrong because request.path contains the script
name, and this would cause it to fail in circumstances where the
script name was not empty. It should have used request.path_info,
and now does.

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

- Updated the "Creating a Not Found View" section of the "Hooks"
chapter, replacing explanations of registering a view using
``add_view`` or ``view_config`` with ones using
``add_notfound_view`` or ``notfound_view_config``.

- Updated the "Creating a Not Forbidden View" section of the "Hooks"
chapter, replacing explanations of registering a view using
``add_view`` or ``view_config`` with ones using
``add_forbidden_view`` or ``forbidden_view_config``.

- Updated the "Redirecting to Slash-Appended Routes" section of the
"URL Dispatch" chapter, replacing explanations of registering a
view using ``add_view`` or ``view_config`` with ones using
``add_notfound_view`` or ``notfound_view_config``

- Updated all tutorials to use
``pyramid.view.forbidden_view_config`` rather than
``pyramid.view.view_config`` with an HTTPForbidden context.

The documentation for the 1.3a9 release is available at
http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/

A detailed "What's New in Pyramid 1.3" document is available at
http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/whatsnew-1.3.html

You can install 1.3a9 via PyPI:

easy_install Pyramid==1.3a9

Enjoy, and please report any issues you find to the issue tracker at
https://github.com/Pylons/pyramid/issues

Thanks!

- C


Reply all
Reply to author
Forward
0 new messages