==================
- Clean-up: Move skin related code from zope.publisher.interfaces.browser and
zope.publisher.browser to zope.publihser.interfaces and
zope.publisher.skinnable and provide BBB imports. See skinnable.txt for more
information.
- Fix: ensure that we only apply skin interface in setDefaultSkin which also
provide IBrowserSkinType. This will ensure that we find a skin if the
applySkin method will lookup for a skin based on this type interface.
- Fix: Make it possible to use adapters and not only interfaces as skins from
the adapter registry. Right now the defaultSkin directive registers simple
interfaces as skin adapters which will run into a TypeError if someone tries
to adapter such a skin adapter. Probably we should change the defaultSkin
directive and register real adapters instead of using the interfaces as fake
adapters where we expect adapter factories.
- Feature: allow use of ``applySkinof`` with different skin types using the
optional ``skinType`` argument, which is by default set to
``IBrowserSkinType``.
- Feature: implement the default skin pattern within adapters. This allows
us to register default skins for other requests then only
``IBrowserRequest`` using ``IDefaultSkin`` adapters.
Note, ``ISkinnable`` and ``ISkinType`` and the skin implementation should
be moved out of the browser request modules. Packages like ``z3c.jsonrpc``
do not depend on ``IBrowserRequest`` but they are skinnable.
- Feature: add ``ISkinnable`` interface which allows us to implement the apply
skin pattern not only for ``IBrowserRequest``.
- Fix: Don't cause warnings on Python 2.6
- Fix: Make ``IBrowserPage`` inherit ``IBrowserView``.
- Move ``IView`` and ``IDefaultViewName`` here from
``zope.component.interfaces``. Stop inheriting from deprecated (for years)
interfaces defined in ``zope.component``.
- Remove deprecated code.
- Clean-up: Move ``zope.testing`` from extras to dependencies, per Zope
Framework policy. Remove ``zope.app.testing`` as a dependency: tests run
fine without it.