Zope 3.2.0 released!
It is our opinion that Zope 3 is more than ready for production use,
which is why we decided to drop the X
for experimental from the name. We
will also continue to work on making the transition between Zope 2 and Zope 3
as smooth as possible. As a first step, Zope 2.8 includes Zope 3 features in
the form of Five. This is a long term effort. We're not there yet.
You can't run Zope 2 applications in Zope 3.
Downloads
http://zope.org/Products/Zope3
Installation instructions for both Windows and Un*x/Linux are now available
in the top level README.txt
file of the distribution. The binary installer
is recommended for Windows.
Zope 3.2 requires Python 2.4.2 to run. You must also have zlib installed on your system.
Most Important Changes Since 3.1
- The ZServer has been replaced with the Twisted server. The Twisted
server supports all that the ZServer supporting has well has HTTP over
SSL natively and SFTP (disabled for now because of error handling
problems). Also in the future it brings a better chance of other
non-HTTP related protocols from being implemented for Zope3, like
SMTP-in and IMAP.
ZServer is still supported and will be used if you use the --zserver when you run mkzopeinstance.
- Added a test browser. The test browser simulates a real Web browser as much as possible as a Python object. This allows us to write functional tests the same way the site would be experienced by the user. This greatly simplifies functional tests, makes documentation better and even helps analyzing usability. And of course, it can be used in functional doctests.
- Changed the way returning large results is handled. The response.write method is no longer supported. Applications can now simply return files to the publisher.
- Implemented the password managers proposal. Main idea beside the
proposal is a standard way to implement password encoders/checkers, see
zope.app.authentication.interfaces.IPasswordManager for details.
+ Added basic password managers: Plain Text, MD5, SHA1.
+ Support for password managers added for ZCML principals and principals saved in local PrincipalFolers.
+ Added bin/zpasswd command line script which helps to create ZCML principals.
+ Password managers support integrated into bin/mkzopeinstance.
+ New database generation created for convert local principals to new format.
- Implemented the language namespace proposal. Now you can override
the browser preferred language through the URL, like this:
http://site.org/++lang++ru/path
Note: If you want to use a custom IUserPreferredLanguages adapter and the
++lang++
feature together you should use zope.app.publisher.browser.CacheableBrowserLanguages adapter as a base class or at least as example. - Implemented a new object introspector. Instead of just providing information of the object's class, the new introspector focuses on providing information that is specific to the instance, such as directly provided interfaces and data, for example attribute values and annotation values.
- Implemented the `devmode` switch for `zope.conf`. When turned on a ZCML feature called `devmode` is provided. Packages can then register functionality based on this feature. In Zope 3 itself, the devmode is used to only load the API doc is devmode; turning off the devmode thus closes a potential security hole and increases the start time by more than a second.
- addMenuItem directive supports a `layer` attribute.
- Added a re-implementation of i18n message IDs (now simply called ``Message``) that is immutable and thus can be treated like unicode strings with respect to security proxying. This implementation will replace the old one in upcoming versions.
- Added "test" message catalog for testing i18n. If you specify ++lang++test in a URL, then all translated strings will be translated to [[domain][message_id], as in "[[zope][Preview]]". Text without the domain marker isn't translated.
For a complete list of changes see the CHANGES.txt
file.
Resources
- Zope 3 Development Web Site
- Zope 3 Dev Mailing List
- Zope 3 Users Mailing List
- IRC Channel: #zope3-dev at irc.freenode.net
Acknowledgments
Thanks goes to everyone that contributed.
Enjoy!
The Zope 3 Development Team