You are not logged in Log in Join
You are here: Home » Download Zope Products » Zope » 2.10.8 » Zope 2.10.8 released » View NewsItem

Log in



Zope 2.10.8 released

Hi all,

on behalf of Zope developer community I am pleased to announce the release of Zope 2.10.8. You can download the sources and the Windows version from

Some new features of Zope 2.10:

  • ZPT implementation based on Zope 3
  • experimental WSGI and Twisted integration
  • Zope 3.3, Five 1.5 integration
  • clock server
  • lots of minor improvements and fixes
  • replaced several Zope 2 modules with their sister implementation of Zope 3

For more information on what is new in this release, see the CHANGES.txt files for the release:

Please bring all the bugs you have found to the Zope bugtracker:

For more information on the available Zope releases, guidance for selecting the right distribution and installation instructions, please see:

Supported Python versions:

Zope 2.10 requires Python 2.4.5 or higher (Python 2.4.4 is still acceptable). Older Python versions are no longer supported. Python 2.5 is not supported at this time.

ZPT Unicode Migration:

Starting Zope 2.10.2 the ZPT implementation uses unicode as internal representation. For this purpose ZPT performs an on-the-fly migration of content to unicode. The migration code should auto-detect ISO-8859-15 and UTF-8 encoded page templates. For other encodings you must set the environment variable ZPT_PREFERRED_ENCODING. The migration code applies to ZopePageTemplate instances only.

You are strongly encouraged to perform a backup before using Zope 2.10.2 or higher

The ZPT unicode migration also fixes various FTP and Webdav issues. When you download ZPT content through FTP or WebDAV the content is converted using the output_encoding property of the corresponding ZopePageTemplate instance.

The pt_render() method now returns always a Python unicode string. The encoding of a rendered ZPT (through HTTP) is determined through

  • charset=XXXX within the content-type HTTP response header
  • etc/zope.conf: default-zpublisher-encoding
  • default: iso-8859-15

In order to deal with UnicodeDecodeErrors in a reasonable way, we added a configurable Unicode conflict resolver. Such resolver is in charge for converting a non-unicode string into a Python unicode string based on some policy. The default policy (as implemented in PageTemplates.unicodeconflictresolver.PreferredCharsetResolver) tries to convert a given string using the following encodings:

  • encodings as passed in the request through the HTTP_ACCEPT_CHARSET header
  • the management_page_charset property, if available
  • Python's default encoding (as returned through sys.getdefaultencoding())

Several other resolvers are available. The resolver is configured as a Zope 3 utility in Products/PageTemplates/configure.zcml and can overridden by your own overrides.zcml file.

-- Andreas Jung (andreas at zopyx dot com)