Pyramid 1.1b2 released

16 views
Skip to first unread message

Chris McDonough

unread,
Jul 13, 2011, 3:38:19 AM7/13/11
to pylons-discuss
Pyramid 1.1b2 has been released.

Here are the changes:

Features
--------

- New environment setting ``PYRAMID_PREVENT_HTTP_CACHE`` and new
configuration file value ``prevent_http_cache``. These are
synomymous and allow you to prevent HTTP cache headers from being
set by Pyramid's ``http_cache`` machinery globally in a process.
see the "Influencing HTTP Caching" section of the "View
Configuration" narrative chapter and the detailed documentation for
this setting in the "Environment Variables and Configuration
Settings" narrative chapter.

Behavior Changes
----------------

- Previously, If a ``BeforeRender`` event subscriber added a value via
the ``__setitem__`` or ``update`` methods of the event object with a
key that already existed in the renderer globals dictionary, a
``KeyError`` was raised. With the deprecation of the
"add_renderer_globals" feature of the configurator, there was no way
to override an existing value in the renderer globals dictionary
that already existed. Now, the event object will overwrite an older
value that is already in the globals dictionary when its
``__setitem__`` or ``update`` is called (as well as the new
``setdefault`` method), just like a plain old dictionary. As a
result, for maximum interoperability with other third-party
subscribers, if you write an event subscriber meant to be used as a
BeforeRender subscriber, your subscriber code will now need to
(using ``.get`` or ``__contains__`` of the event object) ensure no
value already exists in the renderer globals dictionary before
setting an overriding value.

Bug Fixes
---------

- The ``Configurator.add_route`` method allowed two routes with the
same route to be added without an intermediate ``config.commit()``.
If you now receive a ``ConfigurationError`` at startup time that
appears to be ``add_route`` related, you'll need to either a) ensure
that all of your route names are unique or b) call
``config.commit()`` before adding a second route with the name of a
previously added name or c) use a Configurator that works in
``autocommit`` mode.

- The ``pyramid_routesalchemy`` and ``pyramid_alchemy`` scaffolds
inappropriately used ``DBSession.rollback()`` instead of
``transaction.abort()`` in one place.

- We now clear ``request.response`` before we invoke an exception
view; an exception view will be working with a request.response that
has not been touched by any code prior to the exception.

- Views associated with routes with spaces in the route name may not
have been looked up correctly when using Pyramid with
``zope.interface`` 3.6.4 and better. See
https://github.com/Pylons/pyramid/issues/232.

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

- Wiki2 (SQLAlchemy + URL Dispatch) tutorial ``models.initialize_sql``
didn't match the ``pyramid_routesalchemy`` scaffold function of the
same name; it didn't get synchronized when it was changed in the
scaffold.

- New documentation section in View Configuration narrative chapter:
"Influencing HTTP Caching".

More
----

A "What's New In Pyramid 1.1" document exists at
http://docs.pylonsproject.org/projects/pyramid/1.1/whatsnew-1.1.html .

You will be able to see the 1.1 release documentation (across all
alphas and betas, as well as when it eventually gets to final release)
at http://docs.pylonsproject.org/projects/pyramid/1.1/ .

You can install it via PyPI:

easy_install Pyramid==1.1b2

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