[Zope-Annce] Grok 0.13 released!

Jan-Wijbrand Kolman janwijbrand at gmail.com
Mon Jun 23 16:00:02 EDT 2008

Hi everybody,

The Grok team is happy to announce the release of Grok 0.13!

This release is available on PyPI and a new index of specific versions
of packages used by this release has been frozen at
http://grok.zope.org/releaseinfo/grok-0.13.cfg. This means that new
projects created with grokproject will start using this release right

New Features

* New ``grok.traversable`` directive to make individual attributes
  traversable without having to write a ``traverse`` method. Just give
  it the attribute name and the attribute becomes traversable.

* ``grok.require`` now also accepts the permission class directly as
  an argument, instead of just the permission name.

* The view ``url`` method has an optional parameter ``data``, which
  is a dictionary with URL parameters to generate.

* New ``grok.OrderedContainer`` component.

* Easier test setup infrastructure in ``z3c.testsetup``, see `tests-
  with-grok-testing`_ for more details.

.. _`tests-with-grok-testing`:

* Improvements to viewlet support. ``Viewlet`` and ViewletManager``
  templates now both receives a ``view`` namespace which is the view
  the viewlet is in. This is a difference from how viewlets worked
  before. Also added ``viewlet`` and ``viewletmanager`` namespace to
  the template.


* The Grok dependencies now make use of the latest known-good ones
  from Zope 3 (KGS).

* The basic component base classes (``Adapter``, ``MultiAdapter``,
  ``GlobalUtility``), their grokkers, as well as many of the basic
  directives have been factored out to a reusable
  ``grokcore.component`` package.

* Ported directives to Martian's new directive implementation. As a
  result, many helper functions that were available from ``grok.util``
  were removed. The functionality is mostly available from the
  directives themselves now.

* Refactored class grokkers to make use of Martian's new declarative
  way for retrieving directive data from classes, and Martian's new
  declarative way to write grokkers. See the `upgrade notes`_
  (``doc/upgrade.txt``) for more information.

.. _`upgrade notes`: http://grok.zope.org/project/upgrade-notes


To upgrade an existing project from 0.12.x to 0.13 you have to:

   1. change the 'extends' directive in your project's buildout.cfg to
      point to http://grok.zope.org/releaseinfo/grok-0.13.cfg
   2. run bin/buildout in your project, to update the dependencies
      including the 0.13 egg of Grok itself

For the detailed changelog, see Grok's PyPI entry page.

For detailed upgrade notes, including how to change your application,
see http://grok.zope.org/project/upgrade-notes

For installation instructions and much more on how to use Grok, see the
Grok tutorial: http://grok.zope.org/documentation/book/

We hope to hear from you!

If you enjoy Grok, please subscribe to the `grok-dev mailing list`_ and
join us in the #grok channel on irc.freenode.net.

.. _`grok-dev mailing list`: http://grok.zope.org/community/grok-dev-mailinglist

Jan-Wijbrand Kolman

More information about the Zope-Announce mailing list