[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
away.
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`:
http://grok.zope.org/documentation/how-to/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.
Restructuring
-------------
* 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
Upgrading
---------
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