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.

Reply via email to