Zope.publisher

Latest version: v7.3

Safety actively analyzes 722930 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 11

3.6.0

==================

- 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.

3.5.6

==================

- Fix an untested code path that incorrectly attempted to construct a
``NotFound``, adding a test.

3.5.5

==================

- LP 322486: ``setStatus()`` now allows any ``int()``-able status value.

3.5.4

==================


- LP 98440: interfaces lost on retried request

- LP 273296: dealing more nicely with malformed HTTP_ACCEPT_LANGUAGE headers
within getPreferredLanguages().

- LP 253362: dealing more nicely with malformed HTTP_ACCEPT_CHARSET headers
within getPreferredCharsets().

- LP 98284: Pass the ``size`` argument to readline, as the version of
twisted used in zope.app.twisted supports it.

- Fix the LP 98284 fix: do not pass ``size`` argument of None that causes
cStringIO objects to barf with a TypeError.

3.5.3

==================

- It turns out that some Web servers (Paste for example) do not send the EOF
character after the data has been transmitted and the read() of the cached
stream simply hangs if no expected content length has been specified.

3.5.2

==================

- A previous fix to handle posting of non-form data broke handling of
form data with extra information in the content type, as in::

application/x-www-form-urlencoded; charset=UTF-8

Page 9 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.