==================
See: `upgrade_notes_1.0a1` for special notes on upgrading to this release.
Feature changes
---------------
* Introduced ``grok.interfaces.IGrokSecurityView``, a marker interface
which non-Grok views can use to state that they want to be handled
like regular Grok views by the Grok publisher.
* Expose the ``DirectoryResource`` component from grokcore.view and the
accompanying ``path`` directive.
* Similar to the layers and skins restructuring, the ``grok.RESTProtocol``
baseclass has been removed in favour of a ``grok.restskin(name)`` directive
that can be used on REST layer interfaces. Introduced the IRESTLayer base
interfaces for defining REST layers.
* Besides our extensive existing documentation, we have also started
to add a lot of docstrings to the Grok source code so it becomes
easier to understand.
Bug fixes
---------
* Have GrokForm define an empty actions attribute by default, in order
for "action-less" forms to work easily.
* Allow the grok.layer() directive on JSON components. Closes
https://bugs.launchpad.net/grok/+bug/310558
* Close a bad security hole (also fixed in 0.14.1 and other
releases). See
http://grok.zope.org/blog/security-issue-in-grok-please-upgrade
Restructuring
-------------
* Viewlet-related base classes and helpers have been moved out to a
``grokcore.viewlet`` package which Grok now depends on.