Zope 2.10.4 released
Hi all,
on behalf of Zope developer community I am pleased to announce the release of Zope 2.10.4. You can download the sources and the Windows version from
http://www.zope.org/Products/Zope/2.10.4/
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:
http://www.zope.org/Products/Zope/2.10.4/CHANGES.txt
Please bring all the bugs you have found to the Zope bugtracker:
http://collector.zope.org/Zope
For more information on the available Zope releases, guidance for selecting the right distribution and installation instructions, please see:
http://www.plope.com/Books/2_7Edition/InstallingZope.stx
Supported Python versions:
Zope 2.10 requires Python 2.4.3+ (Python 2.4.2 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
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)