Hi folks, Pyramid 1.0a10 has been released.
It can be downloaded via: easy_install pyramid An existing installation can be upgraded via: easy_install -U pyramid The documentation at http://docs.pylonsproject.org/projects/pyramid/dev/ has been updated. This is the first Pyramid release with backwards incompatibilities: - The "add_handler" method of the Configurator has been "externalized". When you upgrade to Pyramid 1.0a10, the "add_handler" method will stop working. To make it work again, add a dependency named "pyramid_handlers" to your Pyramid application's "setup.py" "install_requires" list, or install "pyramid_handlers" by hand. Then follow the instructions described at http://docs.pylonsproject.org/projects/pyramid_handlers/dev/#setup Once this step is accomplished, config.add_handler will work again. - The "pyramid.view.action" decorator has been moved to "pyramid_handlers". In your code, instead of importing "from pyramid.view import action", do "from pyramid_handlers import action". - The "load_zcml" method of the Configurator has been "externalized". When you upgrade to Pyramid 1.0a10, the "load_zcml" method will stop working. To make it work again, add a dependency named "pyramid_zcml" to your Pyramid application's "setup.py" "install_requires" list or install "pyramid_zcml" by hand. Then follow the instructions at http://docs.pylonsproject.org/projects/pyramid_zcml/dev/#setup Once this step is accomplished, config.load_zcml will work again. - The "pyramid.includes" package has been removed. ZCML files which do '<include package="pyramid.includes"/>' must now instead do '<include package="pyramid_zcml"/>' after installing the "pyramid_zcml" package. These externalizations were done for these reasons: - Shorten core documentation. The printed docs are now less than 600 pages, whereas before they were approaching 700. - Be true to "pay for what you eat" philosophy. Both the handlers and ZCML subsystems aren't really "core" components of the framework, and can be externalized. When they're externalized, they can also be innovated upon more quickly than if they were in the core. The full changelog follows, which also notes other deprecations and minor backwards incompatibilities as well as features: 1.0a10 (2011-01-18) =================== Bug Fixes --------- - URL Dispatch properly handles a '.*' or '*' appearing in a regex match when used inside brackets. Resolve Issue #90. Backwards Incompatibilities --------------------------- - The ``add_handler`` method of a Configurator has been removed from the Pyramid core. Handlers are now a feature of the ``pyramid_handlers`` package, which can be downloaded from PyPI. Documentation for the package should be available via http://pylonsproject.org/projects/pyramid_handlers/dev, which describes how to add a configuration statement to your ``main`` block to reobtain this method. You will also need to add an ``install_requires`` dependency upon ``pyramid_handlers`` to your ``setup.py`` file. - The ``load_zcml`` method of a Configurator has been removed from the Pyramid core. Loading ZCML is now a feature of the ``pyramid_zcml`` package, which can be downloaded from PyPI. Documentation for the package should be available via http://pylonsproject.org/projects/pyramid_zcml/dev, which describes how to add a configuration statement to your ``main`` block to reobtain this method. You will also need to add an ``install_requires`` dependency upon ``pyramid_zcml`` to your ``setup.py`` file. - The ``pyramid.includes`` subpackage has been removed. ZCML files which use include the package ``pyramid.includes`` (e.g. ``<include package="pyramid.includes"/>``) now must include the ``pyramid_zcml`` package instead (e.g. ``<include package="pyramid_zcml"/>``). - The ``pyramid.view.action`` decorator has been removed from the Pyramid core. Handlers are now a feature of the ``pyramid_handlers`` package. It should now be imported from ``pyramid_handlers`` e.g. ``from pyramid_handlers import action``. - The ``handler`` ZCML directive has been removed. It is now a feature of the ``pyramid_handlers`` package. - The ``pylons_minimal``, ``pylons_basic`` and ``pylons_sqla`` paster templates were removed. Use ``pyramid_sqla`` (available from PyPI) as a generic replacement for Pylons-esque development. - The ``make_app`` function has been removed from the ``pyramid.router`` module. It continues life within the ``pyramid_zcml`` package. This leaves the ``pyramid.router`` module without any API functions. - The ``configure_zcml`` setting within the deployment settings (within ``**settings`` passed to a Pyramid ``main`` function) has ceased to have any meaning. Features -------- - ``pyramid.testing.setUp`` and ``pyramid.testing.tearDown`` have been undeprecated. They are now the canonical setup and teardown APIs for test configuration, replacing "direct" creation of a Configurator. This is a change designed to provide a facade that will protect against any future Configurator deprecations. - Add ``charset`` attribute to ``pyramid.testing.DummyRequest`` (unconditionally ``UTF-8``). - Add ``add_directive`` method to configurator, which allows framework extenders to add methods to the configurator (ala ZCML directives). - When ``Configurator.include`` is passed a *module* as an argument, it defaults to attempting to find and use a callable named ``includeme`` within that module. This makes it possible to use ``config.include('some.module')`` rather than ``config.include('some.module.somefunc')`` as long as the include function within ``some.module`` is named ``includeme``. - The ``bfg2pyramid`` script now converts ZCML include tags that have ``repoze.bfg.includes`` as a package attribute to the value ``pyramid_zcml``. For example, ``<include package="repoze.bfg.includes">`` will be converted to ``<include package="pyramid_zcml">``. Paster Templates ---------------- - All paster templates now use ``pyramid.testing.setUp`` and ``pyramid.testing.tearDown`` rather than creating a Configurator "by hand" within their ``tests.py`` module, as per decision in features above. - The ``starter_zcml`` paster template has been moved to the ``pyramid_zcml`` package. Documentation ------------- - The wiki and wiki2 tutorials now use ``pyramid.testing.setUp`` and ``pyramid.testing.tearDown`` rather than creating a Configurator "by hand", as per decision in features above. - The "Testing" narrative chapter now explains ``pyramid.testing.setUp`` and ``pyramid.testing.tearDown`` instead of Configurator creation and ``Configurator.begin()`` and ``Configurator.end()``. - Document the ``request.override_renderer`` attribute within the narrative "Renderers" chapter in a section named "Overriding A Renderer at Runtime". - The "Declarative Configuration" narrative chapter has been removed (it was moved to the ``pyramid_zcml`` package). - Most references to ZCML in narrative chapters have been removed or redirected to ``pyramid_zcml`` locations. Deprecations ------------ - Deprecation warnings related to import of the following API functions were added: ``pyramid.traversal.find_model``, ``pyramid.traversal.model_path``, ``pyramid.traversal.model_path_tuple``, ``pyramid.url.model_url``. The instructions emitted by the deprecation warnings instruct the developer to change these method spellings to their ``resource`` equivalents. This is a consequence of the mass concept rename of "model" to "resource" performed in 1.0a7. -- You received this message because you are subscribed to the Google Groups "pylons-devel" group. To post to this group, send email to pylons-devel@googlegroups.com. To unsubscribe from this group, send email to pylons-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-devel?hl=en.