[Zope-Checkins] SVN: Zope/trunk/doc/ moved HISTORY
Andreas Jung
andreas at andreas-jung.com
Fri Feb 20 10:35:13 EST 2009
Log message for revision 96831:
moved HISTORY
Changed:
D Zope/trunk/doc/HISTORY.txt
A Zope/trunk/doc/obsolete/HISTORY.txt
-=-
Deleted: Zope/trunk/doc/HISTORY.txt
===================================================================
--- Zope/trunk/doc/HISTORY.txt 2009-02-20 15:34:26 UTC (rev 96830)
+++ Zope/trunk/doc/HISTORY.txt 2009-02-20 15:35:13 UTC (rev 96831)
@@ -1,1964 +0,0 @@
-Zope History
-
- This file contains change information for previous versions of
- Zope. Change information for the current release can be found
- in the file CHANGES.txt.
-
- Zope 2.11.3 (unreleased)
-
- Bugs Fixed
-
- - configure script: setting ZOPE_VERS to '2.11'
-
- - Products.PluginIndexes.PathIndex: backported doc fixes /
- optiimizations from trunk (and ExtendedPathIndex).
-
- - Updated 'pytz' from '2007f' to '2008i'.
-
- - Moved svn:externals for 'mechanize', 'ClientPath', and 'pytz' to
- versions managed outside the Zope3 trunk.
-
- - Testing.ZopeTestCase: Remove quota argument from DemoStorage calls in
- preparation for ZODB 3.9.
-
- Zope 2.11.2 (2008/10/24)
-
- Bugs Fixed
-
- - updated to ZODB 3.8.1
-
- - DateTime conversion of datetime objects with non-pytz tzinfo.
- Timezones() returns a copy of the timezone list (allows tests to run).
- (Backport of r89373 from trunk).
-
- - LP #253362: better dealing with malformed HTTP_ACCEPT_CHARSET headers
-
- - Testing.ZopeTestCase: installPackage was tied to the ZopeLite layer.
-
- Zope 2.11.1 (2008/07/17)
-
- Bugs Fixed
-
- - Suppressed DeprecationWarning during import of ZPublisher.Iterators:
- that module needs to use Z2-style interfaces in 2.11, for BBB, but
- the Interface module itself issues the warning on import.
-
- - Launchpad #246748: added 'immediate' option to sendXXX() methods
- for sending a mail immediately by-passing the zope.sendmail delivery
- mechanism
-
- - Launchpad #246290: fixed backward compatibility issue
-
- - zope.testing : updated to 3.5.3
-
- - zope.viewlets: updated to 3.4.2
-
- - zope.sendmail: updated to 3.5.0 (fixing Launchpad #230831)
-
- Zope 2.11.0 (2008/06/15)
-
- Restructuring
-
- - Noted long-standing but silent deprecation of Zope2-style
- interfaces (on import of the Interface package). That package
- is already gone on the trunk.
-
- Bugs Fixed
-
- - Launchpad #229549: Don't ignore 'debug' flag when rendering
- page templates (thanks to Eric Steele for the patch).
-
- - Fixed against-the-rules zope.conf option 'fast_listen' to read
- 'fast-listen' (dash, not underscore).
-
- Zope 2.11 rc 1 (2008/05/08)
-
- Bugs Fixed
-
- - Launchpad #142350: Display description for properties as row title,
- if present.
-
- - Launchpad #200007: DateTime(anotherDateTime) now preserves the
- timezone.
-
- - Launchpad #213311: Handle "unsubscriptable object" errors
- during publishing traversal.
-
- - Products.Five: Fixed vocabulary lookup broken in 2.11 beta 1.
- ZopeVocabularyRegistry wasn't hooked up on startup.
-
- - Launchpad #143813: zopectl now exits non-zero when
- child processes fail.
-
- - Products.Five: Resynced browser.adding with zope.app.container.
- This fixes some minor bugs and removes deprecated code.
-
- - Launchpad #173658: Removed dead code in OFS.Traversable's
- 'unrestrictedTraverse' (apparent NameError).
-
- - Launchpad #198274: "empty" ZopePageTemplates could not be
- unpickled.
-
- Zope 2.11 beta 1 (2007/12/29)
-
- Restructuring
-
- - Moved two implements declarations from Five into the proper classes.
-
- - Document.sequence: replaced by zope.sequencesort
-
- - All Products folders as well as the zope and zope.app folders are
- declared as setuptools namespace packages now. See
- http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
- for more information about namespace packages.
-
- - ZPT: removed display of ZPT warnings since warnings were
- removed from the zope.pagetemplate implementation
-
- - Ship Zope with a standard docutils 0.4 distribution, instead
- of a patched one. Both trusted and untrusted code are still
- protected against unwanted file inclusion.
-
- - Removed ZGadflyDA (deprecated since Zope 2.9). The code is
- still available from svn.zope.org/Products.ZGadflyDA.
-
- - Removed OFS.content_types (deprecated since Zope 2.9)
-
- - Undeprecated 'zLOG', which will remain a backward-compatibility
- shim for the Python logging module.
-
- - Indexes: Removed unused parameters from '_apply_index' methods.
-
- - Removed deprecated support for product initialization based on
- '__ac_permissions__' and 'meta_types' attributes.
-
- - reStructuredText/ZReST: setting raw_enabled to 0 for security
- reasons
-
- - OFS Image: Image and File updated to use isinstance(data, str)
- and raises TypeError upon encountering unicode objects.
-
- - OFS Application: Updated deprecation warnings.
- Support for '__ac_permissions__' and 'meta_types' will be removed in
- Zope 2.11, 'methods' support might remain longer.
-
- Features added
-
- - Zope2 startup: Zope will now sends DatabaseOpened and
- ProcessStarting events during startup
-
- - Testing.ZopeTestCase: Introduced a "ZopeLite" test layer, making it
- possible to mix ZTC and non-ZTC tests much more freely.
-
- - Testing/custom_zodb.py: added support use a different storage other
- than DemoStorage. A dedicated FileStorage can be mount by setting the
- $TEST_FILESTORAGE environment variable to a custom Data.fs file. A
- ZEO server can be configured using the $TEST_ZEO_HOST and
- $TEST_ZEO_PORT environment variables. This new functionality allows us
- to use the standard Zope testrunner for writing and running tests
- against existing Zope installations.
-
- - The ZPublisher HTTP request has now both the debug and locale
- attributes available, like its Zope 3 counterpart. The debug attribute
- was so far limited to code from the zope.* namespace in order to make
- the Zope 3 ZPT engine work. The locale attribute provides access to an
- zope.i18n.interfaces.locales.ILocale object with access to locale
- related information like date / time formatting or translated language
- and country names. Form variables of both debug and locale will shadow
- these two attributes and their use is therefor discouraged.
-
- - MailHost: now uses zope.sendmail for delivering the mail. With this
- change MailHost integrates with the Zope transaction system (avoids
- sending dupe emails in case of conflict errors). In addition MailHost
- now provides support for asynchronous mail delivery. The 'Use queue'
- configuration option will create a mail queue on the filesystem (under
- 'Queue directory') and start a queue thread that checks the queue
- every three seconds. This decouples the sending of mail from its
- delivery. In addition MailHosts now supports encrypted connections
- through TLS/SSL.
-
- - integrated ZODB 3.8 (featuring BLOB support)
-
- - integrated latest Zope3 components (aka Zope 3.4)
-
- - Support for using zopectl on Windows has been added. All commands are
- supported and there are two Windows specific ones: install and remove,
- which install or remove the Windows service. The start, stop and
- restart commands handle the Windows service. In order to use them, you
- need to call 'bin\zopectl install' once.
-
- - ZCatalog result objects (catalog brains) now have an interface,
- ZCatalog.interfaces.ICatalogBrain.
-
- - PythonScripts: allow usage of Python's 'sets' module
-
- - added 'fast_listen' directive to http-server and webdav-source-server
- sections in etc/zope.conf in order to defer the opening of the sockets
- until the late startup phase. This in in particular useful when running
- Zope behind a loadbalancer (patch by Patrick Gerken).
-
- - AccessControl.Role: added new method
- manage_getUserRolesAndPermissions().
-
- - AccessControl: the form behind the "Security" tab has a new form
- for user-related reporting of permissions and roles
-
- - Zope 3-based exception views can now be registered in ZCML for
- various exceptions that can be raised by Zope. Registering an
- exception view can be done like this::
-
- <browser:page
- for="zope.publisher.interfaces.INotFound"
- class=".view.SomeView"
- name="index.html"
- permission="zope.Public" />
-
- Relevant exceptions that can have views are:
-
- o zope.interface.common.interfaces.IException
-
- o zope.publisher.interfaces.INotFound
-
- o zope.security.interfaces.IForbidden
-
- o zope.security.interfaces.IUnauthorized
-
- Note that the name has to be 'index.html' for the exception
- view to work. (patch by Sidnei da Silva from Enfold,
- integration by Martijn Faassen (Startifact) for Infrae)
-
- - DateTime now uses pytz for time zone data. This means support
- for more time zones and up to date daylight saving time
- information.
-
- Bugs Fixed
-
- - Collector #2113: 'zopectl test' masked Ctrl-C.
-
- - Collector #2190: Calls to zope.security.management.checkPermission
- weren't rerouted to Zope 2's security policy.
-
- NOTE: If you already have a Zope 2.10 instance running, you
- will either have to recreate it or add the following lines to
- the end of the etc/site.zcml file::
-
- <securityPolicy
- component="Products.Five.security.FiveSecurityPolicy" />
-
- - Collector #2223: Evaluation of booleans in TALES and the
- 'default' variable.
-
- - Collector #2213: Can't edit "old" ZopePageTemplate instances.
-
- - Collector #2235: A number of ZCatalog methods were doing boolean
- evaluation of objects that implemented __len__ instead of checking
- them against None. Replaced a number of "if not obj" with
- "if obj is None".
-
- Zope 2.10.8 (unreleased)
-
- Restructuring
-
- - Added 'InitializeClass' alias in 'App.class_init' to ease migration.
- In Zope 2.12 it will be recommended to import 'InitializeClass' from
- 'App.class_init' instead of 'Globals'.
-
- - Moved 'ApplicationDefaultPermissions' from 'App.class_init' to
- 'AccessControl.Permissions', in order to break an import cycle
- in third-party code which avoids imports from 'Globals.' Left
- the class importable from its old location without deprecation.
-
- Bugs fixed
-
- - LP/#143873: Fixed problems when no HTTP_ACCEPT_CHARSET is in the
- request. This required an update of zope.publisher to 3.3.3.
-
- - LP/#324876: tighened regex for detecting the charset
- from a meta-equiv header
-
- - Acquisition wrappers now correctly proxy __iter__.
-
- - Launchpad #174705: ensure that the error info object exposed to a
- 'tal:on_error' handler has attributes visible to restricted code.
-
- Zope 2.10.7 (2008/10/24)
-
- Bugs fixed
-
- - Ensure that response header values cannot embed CRLF pairs, which
- violate the HTTP spec (RFC 2616).
-
- - Launchpad #282677: fixed implementation of guarded_map and
- provided tests and implementation for guarded_zip
- (RestrictedPython).
-
- - Lauchpad #143736,#271395: fixed AttributeError' on _ltid in TempStorage
-
- - 'AccessControl.ZopeGuards.guarded_import' mapped some Unauthorized
- exceptions onto ImportErrors: don't do that! Also, removed
- mutable defaults from argument list, improved tests.
-
- - LP #281156: 'AccessControl.SecurityInfo.secureModule' dropped
- ModuleSecurity for failed imports, obscuring later attempts to
- import the same broken module.
-
- - LP #142667: Updated to ZODB-3.7.3 to fix problem with product
- auto-refresh.
-
- - Updated to Five 1.5.8
-
- - Launchpad #245649: the Products package is now a proper
- "namespace package" under the rules specified by setuptools.
-
- - Fixed outdated transaction.commit(1) call in
- ZODBMountPoint.SimpleTrailblazer
-
- - Launchpad #239636: Ensure that HEAD requests lock an empty body
- for NotFound errors.
-
- - Launchpad #229549: Don't ignore 'debug' flag when rendering
- page templates (thanks to Eric Steele for the patch).
-
- - integrated Hotfix-2008-08-12
-
- - Launchpad #267545: DateTime(DateTime()) now preserves the
- correct hour
-
- - Launchpad #262313: respect the 'Expand macros when editing' flag
- when editing a page template through the ZMI
-
-
- Zope 2.10.6 (2008/05/10)
-
- Bugs fixed
-
- - Launchpad #142350: Display description for properties as row title,
- if present.
-
- - Launchpad #200007: DateTime(anotherDateTime) now preserves the
- timezone.
-
- - Launchpad #213311: Handle "unsubscriptable object" errors
- during publishing traversal.
-
- - Launchpad #143813: zopectl now exits non-zero when
- child processes fail.
-
- - Launchpad #173658: Removed dead code in OFS.Traversable's
- 'unrestrictedTraverse' (apparent NameError).
-
- - Launchpad #198274: "empty" ZopePageTemplates could not be
- unpickled.
-
- - zope.security: switched to use standalone 3.3.3 version, which
- contains a backport of a huge performance bugfix from the 3.4 branch.
-
- - Launchpad #164783: Indexes were migrated on initial creation of a
- ZODB.
-
- Zope 2.10.5 (2007/10/30)
-
- Other changes
-
- - Turned deprecation warnings for manage_afterAdd, manage_beforeDelete
- and manage_afterClone methods into discouraged warnings. These methods
- will not be removed in Zope 2.11, but stay for the foreseeable future.
- Using events is still highly encouraged.
-
- Bugs fixed
-
- - Launchpad #147201: treat container-class in zope.conf as a string,
- making it possible to use types from extra products directories.
-
- - Collector #2358: backported fix making 'Products' package a real
- "namespace package" from the trunk.
-
- - Collector #2287: form ':record' objects did not implement enough of
- the mapping interface.
-
- - Collector #2352: fix in OFS.Traversable
-
- - Collector #2346: username logging in FCGI crashed the server
-
- - ZopePageTemplate's pt_edit did not recognize content type arguments
- which had a charset information included.
-
- - Collector #2332: SessionDataManger: don't swallow ConflictErrors
-
- - Collector #2339: ZPT: fixed unicode issue when using the 'structure'
- directive
-
- - Launchpad #151020: HTTP_CHAR_SET headers containing 'x-user-defined'
- caused a LookupError exception. Unknown encodings are from now on
- silently discarded.
-
- Zope 2.10.4 (2007/06/23)
-
- Other changes
-
- - updated to ZODB 3.7.1
-
- - updated to Zope 3.3.2
-
- - updated to Five 1.5.5
-
- Bugs fixed
-
- - Collector #1306: Missing acquisition context on local roles screen.
-
- - Collector #2153: Supporting unquoted cookies with spaces.
-
- - The REQUEST no longer accepts holds after it has been closed.
-
- - Collector #1441: WebDAV compatibility with Windows Web Folders
- restored by adding a configuration variable that controls the
- sending of the non-standard MS-Author-Via and Public
- headers. Thanks for PatrickD for the the hard work coming up
- with an initial patch.
- (http://zope.org/Collectors/Zope/1441)
-
- - Fixed bug in ZPublisher.BaseRequest with persistent site managers. An
- EndRequestEvent was thrown after the ZODB connection was already
- closed and thus the site manager not being available anymore.
-
- - Collector #2295: Comments in PythonScripts could lead to syntax
- errors
-
- - Collector #2307: ObjectCopiedEvent not dispatched to sublocations.
-
- - Collector #2304: fixed markup issue in ptEdit.zpt
-
- - Collector #2260: fixed Examples.zexp
-
- - Collector #2320: HTTPResponse setHeader lowercased keys but getHeader
- did not, causing lookups of 'Content-Type' to fail
-
- - Collector #2321: Skip trusted proxies when extracting the client IP
- address from the request.
-
- - Collector #2318: Allow override of zopectl's control socket in
- zope.conf
-
- - Collector #2316: correctly unpack DateTimeIndex dates when browsing the
- index.
-
- - Collector #1866: a 304 HTTP status should not have a content length.
-
- - Collector #2300: delimit *all* HTTP Response headers with CRLF.
-
- Zope 2.10.3 (2007/03/25)
-
- Bugs fixed
-
- - Collector #2298: webdav.Resource.COPY and webdav.Resource.MOVE did
- not send the expected copy/move events.
-
- - Collector #2296: Fixed import of ZClass products, broken by removal
- of BBB support for pasting objects whose meta_type info was
- permission-free.
-
- - Collector #2294: Protected DOS-able ControlPanel methods with the
- same 'requestmethod' wrapper.
-
- - Collector #2294: Protected various security mutators with a new
- 'postonly' decorator. The decorator limits method publishing to
- POST requests only, and is a backport from Zope 2.11's requestmethod
- decorator factory.
-
- - Collector #2289: restored compatibility with PTProfiler
-
- - No longer opens a zodb connection every time a ProductDispatcher
- is looked up.
-
- - Collector #2288: @ and + should not be quoted when forming
- request URLs in BaseRequest and HTTPRequest
-
- - Undeprecated 'zLOG', which will remain a backward-compatibility
- shim for the Python logging module.
-
- - PageTemplate/ZRPythonExpr.py: expressions represented as unicode string
- caused UnicodeDecodeErrors.
-
- Zope 2.10.2 (2007/01/26)
-
- Bugs fixed
-
- - Updated Zope 3 to bugfix release 3.3.1.
-
- - Collector #2261: Acquisition when creating objects via Webdav.
-
- - Collector #2269: fixed broken FTP support for ZPT
-
- Zope 2.10.2 beta 1 (2007/01/14)
-
- Bugs fixed
-
- - Fixed Collector #2190: Calls to
- zope.security.management.checkPermission aren't rerouted to
- Zope 2's security policy.
-
- NOTE: If you already have a Zope 2.10 instance running, you
- will either have to recreate it or add the following lines to
- the end of the etc/site.zcml file::
-
- <securityPolicy
- component="Products.Five.security.FiveSecurityPolicy" />
-
- - Fixed Collector #2223: Evaluation of booleans in TALES and the
- 'default' variable.
-
- - Reverted backward-incompatible fix for Collector #2191.
-
- - Fixed the creation of lib/python/Zope2/version.txt
-
- - added Python 2.4.4 as optimal Python version to 'configure'
-
- - the ZopePageTemplate implementation now uses unicode
- internally. Non-unicode instances are migrated on-the-fly to
- unicode. However this will work only properly for ZPT
- instances formerly encoded as utf-8 or ISO-8859-15. For other
- encodings you might set the environment variable
- ZPT_REFERRED_ENCODING to insert your preferred encoding in
- front of utf-8 and ISO-8859-15 within the encoding sniffer
- code. In addition there is a new 'output_encodings' property
- that controls the conversion from/to unicode for WebDAV/FTP
- operations.
-
- - the ZPT implementation has now a configurable option in order
- how to deal with UnicodeDecodeErrors. A custom
- UnicodeEncodingConflictResolver can be configured through ZCML
- (see Products/PageTemplates/(configure.zcml,
- unicodeconflictresolver.py, interfaces.py)
-
- Zope 2.10.1 (2006-11-22)
-
- Bugs fixed
-
- - Collector #2191: extended DateTime parser for better support
- to the ISO8601 specification.
-
- - Reworking of _cached_result in Shared.DC.ZRDB.DA.DA:
-
- - fixed KeyError reported in Collector #2212
-
- - fixed two memory leaks that occurred under high load
-
- - fixed broken cache keys for people using the obscure
- Shared.DC.ZRDB.DA.DA.connection_hook
-
- - fixed incorrect cache ordering resulting in newer results
- being dumped when the cache became too large.
-
- - Collector #2232: Can't call DTML templates from Page Templates
-
- - Collector #2213: Can't edit "old" ZopePageTemplate instances.
-
- - Collector #2237: 'make' doesn't tell you to run 'make inplace'
- before running 'make instance'.
-
- - Collector #2235: A number of ZCatalog methods were doing boolean
- evaluation of objects that implemented __len__ instead of checking
- them against None. Replaced a number of "if not obj" with
- "if obj is None".
-
- - Collector #2208: rewriting/setting the 'charset' part of the
- content-type HTTP header will be done only for 'text/*'
-
- - Collector #2209: ZTUtils module could not be used inside ZPT
-
- - Collector #2206: Set PYTHONPATH to include existing PYTHONPATH
- in skel/bin/zopectl.in and skel/bin/runzope.in
-
-
- Zope 2.10.0 (2006/10/04)
-
- Bugs fixed
-
-
- Zope 2.10.0 RC 1 (2006/09/25)
-
- Bugs fixed
-
- - Call setDefaultSkin on new requests created as the result of
- ConflictError retries.
-
- - Collector #2187: PUT_factory broken
-
- Zope 2.10.0 beta 2 (2006/09/17)
-
- Bugs fixed
-
- - Collector #2117: Don't choke in 'unrestrictedTraverse' for '+'
- path elements.
-
- - Collector #2185: Log username for FCGI requests.
-
- - Collector #2152: Fixed MailHost documentation; simple_send does not
- process or validate its arguments in any way.
-
- - Collector #2175: ZTUtils.make_hidden_input did not escape
- double-quotes.
-
- - Collector #2176: Fixed bad logging call.
-
- - Collector #1907: Moved 'alt' property from File to Image.
-
- - Collector #1983: Specifying session-resolution-seconds >= 1200 caused
- Zope startup to fail.
-
- - Collector #2169: webdav.Resource.COPY did not send ObjectClonedEvent.
-
- - Collector #2178: Fix ZopeTestCase doctest support for layers
-
- Zope 2.10.0 beta 2 (2006/08/20)
-
- Bugs Fixed
-
- - Collector #2155: Fix wrong parameter being passed to
- logger's error() method, with tests.
-
- - Updated Five to stable 1.5 release.
-
- - Traversal order changes were causing WebDAV requests which used
- acquisition to fail.
-
- - Collector #2157: Expose name of broken class in SystemError raised
- from '__getstate__' of a broken instance.
-
- - Usage of 'urljoin' in 'webdav.davcmds' could lead to wrongly
- constructed urls.
-
- - Fix #2141: TALES doesn't traverse correctly over 'repeat'
- variable
-
- - reStructuredText/ZReST: setting raw_enabled to 0 for security
- reasons
-
- - Collector #2113: 'zopectl test' masked Ctrl-C.
-
- - OFS Image: Image and File updated to use isinstance(data, str)
- and raises TypeError upon encountering unicode objects.
-
- - OFS Application: Updated deprecation warnings.
- Support for '__ac_permissions__' and 'meta_types' will be removed in
- Zope 2.11, 'methods' support might remain longer.
-
- - Collector #2136: Map ResourceLockedError to the correct response code.
-
- - Collector #2016: DemoStorage couldn't wrap base storages without
- an '_oid' attribute.
-
- - Collector #2118: Empty TALES path expressions are allowed
- in Zope 2.
-
- - Acquisition wrappers now correctly proxy __contains__.
-
- - Collector #2116: sequence.sort() did not work properly
- locale related comparison methods
-
- - Collector #2122: fixed missing is_proxying_match definition
- in ZServer/HTTPServer
-
- - Collector 2077: fixed problem with ACTUAL_URL and SiteRoot
-
- - Collector #2073: fixed misbehaviour of OFS.Owned.changeOwnership
-
- - Collector #2063: cleaned up some mess in MailHost.sendTemplate()
-
- - View and attribute lookup order was changed to the following:
- 1. Unacquired attributes
- 2. Views
- 3. Acquired attributes
- According to consensus in z3-five mailing list:
- http://codespeak.net/pipermail/z3-five/2006q2/001474.html
-
- - The defaultView directive now only looks up views, not attributes.
-
- - Collector #2178: Fix ZopeTestCase doctest support for layers
-
- Other Changes
-
- - Disabled docutils file inclusion completely, rather than trying
- to jigger it via configuration settings.
-
- - Returned to the "classic" './configure && make && make install'
- recipe, dropping the use of 'zpkg' for building Zope2 releases.
-
- Zope 2.10.0 beta 1 (2006/05/30)
-
- Restructuring
-
- - Zope 2.10+ now includes site.zcml as part of its instance
- creation skel directory. As a consequence Five now requires
- this file to exist in every instance. If upgrading a site
- from Zope 2.9 to 2.10, you will need to copy site.zcml and
- package-includes/ from your installed Zope installation
- location (skel/etc/) into the etc/ directory of your upgraded
- instance.
-
- The rationale for requiring this new file is to bring Zope 2
- instances closer in consistency to Zope 3 instances. It also
- eases use of Zope 3 coding techniques in Zope 2 and removes
- some confusion when trying to run pure Zope 3 applications on
- Zope 2.
-
- - Products.PageTemplates now uses the Zope 3 ZPT implementation
- in zope.pagetemplate.
-
- - The TAL package has been deprecated in favour of the TAL
- engine from zope.tal.
-
- - Products.PageTemplates.TALES has been deprecated in favour of
- the TALES engine from zope.tales.
-
- - ZTUtils.Iterator has been deprecated in favour of the TALES
- iterator implementation in zope.tales.tales.
-
- - ZCatalog: removed manage_deleteIndex(), manage_delColumns()
- which were deprecated since Zope 2.4
-
- - deprecated the zLOG module. Use Pythons 'logging' module instead.
-
- - replaced all zLOG occurences (expect the zLOG module itself) with
- the 'logging' module
-
- - PluginIndexes/TextIndex is deprecated. Use ZCTextIndex instead
-
- - the 'StructuredText' module is deprecated. Use zope.structuredtext
- instead
-
- - removed ZopeTutorial (Elvis is now really dead)
-
- - ZClasses are deprecated and should no longer be used. In addition
- any code related to the ZClasses (re)distribution mechanism is
- removed.
-
- - ZGadyFlyDA/Gadfly is deprecated
-
- - deprecated OFS.content_types (to be removed in Zope 2.11) and
- replaced all occurences with zope.app.content_types
-
- - OFS.content_types: moved code to zope.app.content_types and added
- method aliases
-
- - Using FastCGI is offically deprecated.
-
- Features added
-
- - added PluggableIndexes/interfaces/IIndexConfiguration (on request
- by the GenericSetup community)
-
- - Included Zope 3.3 and corresponding Five 1.5 release.
-
- - There is now a default favicon.ico.
-
- - Experimental WSGI and Twisted support for http.
- Zope now has a WSGI interface for integration with other
- web-servers than ZServer. Most notably Twisted is supported.
- The WSGI application is ZPublisher.WSGIPublisher.publish_module
-
- You can make ZServer use the twisted interface with the
- "use-wsgi on" keyword in the http-server section in zope.conf.
-
- You can run Twisted by installing Twisted (2.1 recommended) and
- replacing the http-server section with a server section in
- zope.conf. It is not possible to run a Twisted server together with
- a ZServer at the same time::
-
- <server>
- address 8080
- type Zope2-HTTP
- </server>
-
- WSGI: http://www.python.org/dev/peps/pep-0333/
- Twisted: http://twistedmatrix.com/
-
- - The traversal has been refactored to take heed of Zope3s
- IPublishTraverse adapter interfaces. The ZCML directives
- five:traversable and five:defaultViewable are therefore no
- longer needed, as everything now is five:traversable and
- five:defaultViewable.
-
- There was a bug in earlier versions of Five that allowed you
- to do custom publishing traversal with ITraversable adapters.
- This bug has been corrected. Anybody using ITraversable
- adapters need to convert them to IPublishTraversal adapters.
-
- - Testing.makerequest: Added an 'environ' argument so
- clients can use mappings other than os.environ.
-
- - Updated to Docutils 0.4.0
-
- - reStructuredText: The default value for the 'stylesheet'
- property has been changed from 'default.css' to None because
- there is no 'default.css' file by default.
-
- - ZReST: rewritten render() method to integrate it smoothly
- with Docutils 0.4.0. The default value for the 'stylesheet'
- property has been changed from 'default.css' to None because
- there is no 'default.css' file by default.
-
- - Added a "clock server" servertype which allows users to
- configure methods that should be called periodically as if
- they were being called by a remote user agent on one of Zope's
- HTTP ports. This is meant to replace wget+cron for some class
- of periodic callables.
-
- To use, create a "clock-server" directive section anywhere
- in your zope.conf file, like so::
-
- <clock-server>
- method /do_stuff
- period 60
- user admin
- password 123
- host localhost
- </clock-server>
-
- Any number of clock-server sections may be defined within a
- single zope.conf. Note that you must specify a
- username/password combination with the appropriate level of
- access to call the method you've defined. You can omit the
- username and password if the method is anonymously callable.
- Obviously the password is stored in the clear in the config
- file, so you need to protect the config file with filesystem
- security if the Zope account is privileged and those who have
- filesystem access should not see the password.
-
- Descriptions of the values within the clock-server section
- follow::
-
- method -- the traversal path (from the Zope root) to an
- executable Zope method (Python Script, external method,
- product method, etc). The method must take no arguments or
- must obtain its arguments from a query string.
-
- period -- the number of seconds between each clock "tick" (and
- thus each call to the above "method"). The lowest number
- providable here is typically 30 (this is the asyncore mainloop
- "timeout" value).
-
- user -- a zope username.
-
- password -- the password for the zope username provided above.
-
- host -- the hostname passed in via the "Host:" header in the
- faux request. Could be useful if you have virtual host rules
- set up inside Zope itself.
-
- To make sure the clock is working, examine your Z2.log file. It
- should show requests incoming via a "Zope Clock Server"
- useragent.
-
- - Added a 'conflict-error-log-level' directive to zope.conf, to set
- the level at which conflict errors (which are normally retried
- automatically) are logged. The default is 'info'.
-
- - The SiteErrorLog now copies exceptions to the event log by default.
-
- - ObjectManager now has an hasObject method to test presence. This
- brings it in line with BTreeFolder.
-
- - Improved logging of ConflictErrors. All conflict errors are
- logged at INFO, with counts of how many occurred and how many
- were resolved. Tracebacks for all conflicts are logged a DEBUG
- level, although these won't help anyone much. If a conflict
- error is unresolved, it will now bubble up to error_log and
- standard_error_message.
-
- - Use new-style security declarations everywhere possible. This
- means remove the use of __ac_permissions__, foo__roles__ and
- default__class_init__. A few corner cases can't be converted
- because of circular imports.
-
- - Fixed unclear security declarations. Warn when an attempt is
- made to have a security declaration on a nonexistent method.
-
- - updated to ZPL 2.1
-
- - interfaces: Added 'Interfaces' tab to basic core objects.
- This is a Five feature and only available if the classes are made
- five:traversable. It allows to inspect interfaces and to assign
- marker interfaces through the ZMI.
-
- - webdav: Added support for the z3 WriteLock interface.
- It is no longer necessary to have the WriteLockInterface in the
- __implements__ list of lockable objects. All classes inheriting from
- LockableItem inherit also the IWriteLock interface. Note that this
- enables webdav locking for all subclasses by default even if they
- don't specify the WriteLockInterface explicitly.
-
- - App ProductContext: Made registerClass aware of z3 interfaces.
- Z2 and z3 interfaces are registered side by side in the same tuple in
- Products.meta_types. IFAwareObjectManagers like the ZCatalog work now
- with z3 interfaces as well.
-
- - Zope now sends Zope 3 events when objects are added or removed
- from standard containers. manage_afterAdd, manage_beforeDelete
- and manage_afterClone are now deprecated. See
- lib/python/Products/Five/tests/event.txt for details.
-
- - Zope now utilizes ZODB 3.6. It had previously used
- ZODB 3.4. As a result, the DBTab package was removed, as
- ZODB 3.6 has multidatabase support that makes DBTab
- unnecessary.
-
- - Added a 'product-config' section type to zope.conf, allowing
- arbitrary key-value mappings. Products can look for such
- confgiurations to set product-specific options. Products mwy
- also register their own section types, extending the
- 'zope.product.base' type. (see the example '<product-config>'
- section in skel/etc/zope.conf.in for sample usage).
-
- - Collector #1490: Added a new zope.conf option to control the
- character set used to encode unicode data that reaches
- ZPublisher without any specified encoding.
-
- - AccessControl, Acquisition, App, OFS, webdav, PluginIndexes,
- ZCatalog and ZCTextIndex: Added some Zope 3 style interfaces.
- This makes the bridged interfaces shipped with Five obsolete.
-
- - ZConfig extension, address now also accepts symbolic port names
- from etc/services (unix) or etc\services (win32)
-
- - ZPublisher.HTTPRequest.FileUpload now supports full file
- object interface. This means Iterator support was added. (for
- line in fileobject: ..., as well as fileobject.next() and
- fileobject.xreadlines() ) Collector #1837
-
- - Switched the bundled Zope 3 to release 3.2 and upgraded the
- Five product to version 1.3 (see Products/Five/CHANGES.txt).
-
- - The PageTemplate implementation now uses Zope 3 message
- catalogs by default for translation. Old-style translation
- services such as Localizer or PlacelessTranslationService are
- still supported as fall-backs. See Products/Five/doc/i18n.txt
- for more information.
-
- - Switched to the new improved test runner from Zope 3. Run
- test.py with -h to find out more.
-
- - lib/python/docutils is now a reference to docutils package
- from the Zope 3 source tree (to get rid of redundant packages)
-
- Bugs Fixed
-
- - Collector #1447: When editing content on a virtual-hosted zope,
- AcceleratedHTTPCacheManager now purges the correct URL.
-
- - When you add roles in manage_access, roles are now stripped of
- any leading or trailing spaces.
-
- - Collector #2062: Fix manage_historyCopy, which was broken, and write
- tests for it.
-
- - Collector #2061: Fix problems where windows line endings are passed
- to restricted code compilers.
-
- - Collector #2051: Applied patch by Yoshinori Okuji to fix some
- XML export/import problems, including tests for that feature.
-
- - Collector #2037: fixed broken ACTUAL_URL for '/'
-
- - Missing import of NotFound in webdav.Resource
-
- - Collector #1819: fixed method signature of
- MountedObject.SimpleTrailblazer._construct()
-
- - Collector #2019: removed validateValue() from cAccessControl (already
- removed in former Zope versions from the AccessControl Python
- implementation)
-
- - Collector #1991: ZPublisher did not deal properly with a trailing
- %20 in the URL
-
- - zope.app.introspector was not included with the source archive
-
- - Collector #2013: improved XHTML conformance of error messages,
- some of which did not close '<p>' tags.
-
- - Collector #2002: fixed broken 'ls -R' functionality (didn't
- recurse properly subclasses of OFS.Folder)
-
- - Collector #1992: unified the visible hostnames of the FTP and
- HTTP servers
-
- - Collector #1999: fixed broken FTP rename functionality
- (RNFR now returns 350 as status code instead 250)
-
- - HTTPResponse: for XML content the encoding specified within
- the XML preamble is adjusted to the real encoding of the content
- as specified through the 'charset' within the content-type
- property.
-
- - Collector #1939: When running as a service, Zope could
- potentially collect too much log output filling the NT Event
- Log. When that happened, a 'print' during exception handling
- would cause an IOError in the restart code causing the service
- not to restart automatically.
-
- Problem is that a service/pythonw.exe process *always* has an
- invalid sys.stdout. But due to the magic of buffering, small
- "print" statements would not fail - but once the file actually
- got written to, the error happened. Never a problem when
- debugging, as the process has a console, and hence a valid
- stdout.
-
- - For content-type HTTP headers starting with 'text/' or 'application/'
- the 'charset' field is automatically if not specified by the
- application. The 'charset' is determined by the content-type header
- specified by the application (if available) or from the
- zpublisher_default_encoding value as configured in etc/zope.conf
-
- - Collector #1976: FTP STOR command would load the file being
- uploaded in memory. Changed to use a TemporaryFile.
-
- - OFS ObjectManager: Fixed list_imports() to tolerate missing
- import directories.
-
- - Collector #1621, 1894: Removed support for use of long-deprecated
- 'whrandom' module.
-
- - OFS PropertySheets / webdav: Fixed dav__resourcetype.
- __dav_collection__ with a false value was overridden by
- isAnObjectManager.
-
- - added missing Zope 3 imports: zope.app.intid, zope.app.keyreference,
- zope.app.session, zope.contentprovider, zope.viewlet
-
- Other
-
- - AccessControl.User: Use a better __repr__.
-
- - ZSQLMethod.manage_main: Moved the error message that warns of a
- non-existing or closed database connection next to the Connection ID
- dropdown and present it using red to increase its visibility.
-
- - The ImageFile module has finally been deprecated for good and
- will be removed in Zope 2.11. Use App.ImageFile instead.
-
- after Zope 2.8.1
-
- - The '@' character is now allowed in object ids (RFC 1738 allows it).
-
- Bugs Fixed
-
- - If a content object implemented any in-place numeric operators,
- untrusted code could call them, thus modifying the content.
-
- - If Python 2.4 is used, despite the fact that Python 2.4 is
- unsupported, untrusted code could use generator expressions to
- gain access to container items.
-
- - Collector #1895: testrunner: omitting the 'var' from recursive
- directory walking
-
- - OFS.Image.manage_FTPget() would str() it's .data attribute,
- potentially loading the whole file in memory as a
- string. Changed to use RESPONSE.write() iterating through the
- Pdata chain, just like index_html().
-
- - Collector #1863: Prevent possibly sensitive information to leak via
- the TransientObject's __repr__ method.
-
- - Repaired 'handle_errors' usage for doctests, along with the
- supporting 'debug' argument passed to
- 'ZPublisher.Test.publish_module'.
-
- - Collector #1879: applied patch by Dieter Maurer to fix a bug in
- ac_aquire() ignoring the default argument
-
- - Collector #1864, #1906: fixed header normalization in appendHeader()
-
- - Collector #1899: fixed migration issue when using export/import for
- ZCatalog instances
-
- - Collector #1871: Applied patch to support lists with records using
- ZTUtils.make_query()
-
- - AccessControl: creating a new user through "zpasswd inituser" did not
- work properly with a top-level user folder with enabled password
- encryption.
-
- - ZCatalog: refreshCatalog() could not be called safely from a ZEO
- client script
-
- - Catalog.clear(): fixed handling of _length attribute (caused import
- problems for some .zexp files e.g. Squishdot instances)
-
- - DateIndex now properly removes documents from both indexes if
- the value is None
-
- - Collector #1888: Some parts of the TALInterpreter would not pass a
- default when translating, yet expect a string back. This would cause
- an error (usually "NoneType has no attribute 'replace'") in the case
- the message was not translated.
-
- Zope 2.8.1 (2005/08/11)
-
- Features added
-
- - Interface: Added Z3 -> Z2 bridge utilities.
- This allows to migrate interfaces to Zope 3 style interfaces and
- bridge them back to oldstyle interfaces for backwards compatibility.
-
- Bugs Fixed
-
- - Zope2.Startup.zopectl: fork before execv when running unit tests
- (don't exit the shell, if run from there).
-
- - TAL: MassageIDs are now handled the same way as in zope.tal.
-
- - DocumentTemplate: ustr no longer mangles MassageIDs.
- Custom string types are now returned unchanged.
-
- - As developed in a long thread starting at
- http://mail.zope.org/pipermail/zope/2005-July/160433.html
- there appears to be a race bug in the Microsoft Windows socket
- implementation, rarely visible in ZEO and/or in
- ZServer/medusa/thread/select_trigger.py when multiple processes try
- to create an "asyncore trigger" simultaneously, most often (in
- stress tests) manifesting as a hung process. Windows-specific
- trigger code in both changed to work around this bug when it occurs.
-
- - Collector #1807: fixed memory leak in cAccessControl.guarded_getattr()
-
-
- Zope 2.8.1 b1 (2005/07/28)
-
- Features Added
-
- - PluginIndexes, ZCTextIndex and ZCatalog: Added some z3 interfaces.
-
- - Verbose security exception reporting has been folded into Zope,
- removing the need for the VerboseSecurity product. See the
- documentation for the "verbose-security" option in zope.conf.
-
- - "TemporaryStorage" (the storage that is used mainly to back the
- default sessioning database) is now MVCC capable, which essentially
- means that its usage will no longer generate ZODB ReadConflictErrors.
-
- Bugs Fixed
-
- - Collector #1852: fixed wrong URL construction in webdav.davcmds
-
- - Collector #1844: fixed whitespace handling in the ZMI "Find" tab
-
- - Collector #1813: removed spurious inclusion of CMFBTreeFolder.
- in Products/BTreeFolder2 (CMFCore will include it after 1.5, with
- an appropriate module alias for backward compatibility).
-
- - Replaced all transaction.commit(1) calls by transaction.savepoint()
-
- - Collector #1832: UnIndex swallowed ConflictErrors.
-
- - Collector #1815: ZCTextIndex accepts (again) sequences of strings to
- be indexed.
-
- - Collector #1812: Fixed key error in ZSQL ZMI/Test
-
- - Fixed CMFBTreeFolder for CMF 1.5+
-
- - WebDAV COPY and MOVE did not call '_notifyOfCopyTo' and '_postCopy'
- hooks like it was done in OFS.CopySupport. Additionally added
- 'manage_changeOwnershipType' to make MOVE behave even closer to
- OFS.CopySupport.
-
- - Collector #1548: Fix 'httplib' usage in ZPublisher.Client.
-
- - Collector #1808: manage_convertIndexes no longer tries to change the
- index types causing some trouble with CMF.
-
- - manage_convertIndexes did not treat DateRangeIndexes and PathIndexes
- properly.
-
- - Updated Zope X3 to bugfix release 3.0.1
-
- - Updated Five to bugfix release 1.0.2 (see Products/Five/CHANGES.txt)
-
- Zope 2.8.0 (2005/06/11)
-
- Bugs Fixed
-
- - Collector #1792: applied patch for broken ZClasses
-
- - doc/FAQ.txt updated: should bear some resemblance to reality now.
- (PCGI stuff removed; error information updated; PID information
- updated; upgrade procedure added; some common version questions
- added.)
-
- - Collector #1770: Fixed RestructuredText subtitle
-
- - Collector #1803: Fixed InitializeClass for some corner case.
-
- - Collector #1798, issue 1: ZopeTestCase no longer tries to
- install products that were installed by Zope during startup.
-
- - Collector #1799: Avoid lying about parent's refcount when
- calling back into Python code.
-
- - Collector #889: made 'and' operator for KeywordIndexes actually
- restrict results as expected (thanks to 'aroda' for the patch!).
-
- - Collector #1323: applied patch to fix umask problem in zdctl
-
- - Updated Five to bugfix release 1.0.1 (see Products/Five/CHANGES.txt)
-
- Zope 2.8.0 b2 (2005/05/22)
-
- Features added
-
- - Made WebDAV server distinguishable from the default HTTP
- server both in the ZMI and in event.log.
-
- - Included BTreeFolder2
-
- Bugs fixed
-
- - Collector #1507/1728: Server addresses are now handled the same way on
- all platforms. This fixes the default binding on Windows.
-
- - Collector #1781: made 'create_mount_points' ZConfig option actually
- work (thanks to Dieter Maurer for the patch).
-
- - Collector #1780: DateTime.strftime() now handles dates <= 1900 or
- >= 2038
-
- - Collector #1775: turning off debug mode by default
-
- - Collector #1784: fixed handling of multiple attributes in ZCTextIndex
-
- - Don't copy '.svn' directories from skeleton into an instance
- (thanks to Dale Hirt for the patch).
-
- - Collector #1776: Improved setup.py.
- The Finder class is now used for the complete lib/python tree and has
- a blacklist instead of a whitelist for file extensions. So there
- should no longer be a need to update setup.py if modules or files are
- added or removed in lib/python.
-
- - Collector #1751: Improved error reporting reporting during the
- startup phase
-
- - Collector #1745: Fixed ZSQL error KeyError 'query'
-
- - Collector #1735: fixed UnicodeDecodeError in Loader.py
-
- Zope 2.8b1 (2005/04/24)
-
- Features added
-
- - Added lazy: TAL expression and fixed defer: expression for python
- expression
-
- - ZCatalog.CatalogBrains: An _unrestrictedGetObject method has
- been added.
-
- - ZODB transactions now support savepoints. See
- transaction/savepoint.txt. These will replace
- subtransactions.
-
- Bugs fixed
-
- - Collector #1754: Fixed import of 'transaction' in
- 'zopectl adduser' (which wasy dying with a NameError).
-
- - Collector #1750: StructuredText: fixed handling of image URLs
- with query string
-
- - Collector #1748: Fixed SIGSEGV in Acquisition
-
- - Hotfix_20050405: classes defined in untrusted code could shadow
- the roles of methods defined as protected by their bases.
-
- - Collector #1656: Fixed enumeration within untrusted code
- (forward-port from 2.7 branch).
-
- - Collector #1721: Fixed handling of an empty indexed_attrs parameter
-
-
- Zope 2.8a2 (2005/04/02)
-
- Features added
-
- - ZCatalog.CatalogBrains: 'getObject' now raises errors, rather than
- returning None, in cases where the path points either to a nonexistent
- object (in which case it raises NotFound) or to one which the user
- cannot access (raising Unauthorized). Sites which rely on the old
- behavior can restore setting a new zope.conf option,
- 'catalog-getObject-raises', to "off".
-
- This compatibility option will be removed in Zope 2.10.
-
- - PluginIndexes: the ZCatalog's "Indexes" tab now show the number of
- distinct values indexed by each index instead of a mixture of indexed
- objects versus number of distinct values. Indexes derived from UnIndex
- show both values within their own ZMI screen. In addition most indexes
- have now a "Browse" tab to browse through the list of indexed
- values and their occurrences.
-
- - FTPServer: a RNFR (rename from) request is now being responded
- with a 550 error code if the source file does not exist
-
- - Fixed ObjectManager to not swallow exceptions during object
- deletion (in debug mode and if the user is not Manager). This
- allows for better debugging, while still keeping the possibility
- for a Manager to delete buggy objects.
-
- - Added a ZConfig directive 'large-file-threshold' to control
- the request content-size threshold at which a temporary file
- gets created. Use the same value for deciding between reading
- the whole request in memory or just a chunk inside
- webdav.NullResource.PUT().
-
- - RAMCacheManager: Allow invalidation of a cache entry from the
- Statistics view in the ZMI
-
- - Collector #1454/OFS.File: Accept content types ending with
- "javascript" as editable through the File edit form, just like
- text/<foo> types
-
- - Zope X3 3.0.0's 'src/zope' package is included now.
-
- - Five (Zope 3 integration technology for Zope 2) is included
- now in Products/Five.
-
- Bugs fixed
-
- - Collector #1460: guarded_apply was too restrictive.
-
- - OFS.Traversable still used a string 'NotFound' exception.
-
- - ZPublisher would fail to recognize a XML-RPC request if the
- content-type header included a 'charset' parameter.
-
- - Forward-ported 'aq_acquire'-related fix and associated tests
- from Zope 2.7.4.
-
- - Collector #1730: XML page templates couldn't call aq_parent in
- path expressions.
-
- - Fixed brain.getObject() to correctly traverse to an object even
- if one of its parents is not accessible, to be close to what the
- Publisher does.
-
- - Forward ported fix for OFS.CopySupport tests which corrected
- signature of a faux security policy's 'validate' method.
-
- - 'setup.py' did not install the 'Zope' compatibility module
- (the old 'Zope' package has been renamed to 'Zope2').
-
- - Fixed Shared.DC.ZRDB.Results to behave with the new-style
- ExtensionClass. Added a test.
-
- - 'setup.py' did not install the new 'Zope' compatibility module
- (the 'Zope' package has been renamedd to 'Zope2').
-
- - Collector #1507: Zope now binds again to all available IP addresses if
- ip-address is unset
-
- - Use 'del' instead of 'list.remove()' in
- Catalog.delColumn(). There can be only one column with the
- same name, and it could potentially break catalog metadata as
- remove() may remove more than one element from the list if
- they have the same value. Also, we already have the list index
- we are interested in deleting so it doesn't make sense to look
- up the value and call 'list.remove()' on it.
-
- - Collector #1628: FTP server has been broken (directory
- listings did not work)
-
- - Collector #1705: CopySource._postCopy is never called
-
- - Collector #1617: Fixed crash in ZPT code (caused by improper
- checks in cAccessControl)
-
- - Collector #1683: fixing batching in the DA "Test" tab
-
- - Collector #1648: Fix bug in Medusa FTP
-
- - Collector #1667: allow 'max-number-of-session-objects 0' to have
- the same effect as setting the value via the web interface (i.e.,
- make the number of session objects unlimited, rather than falling
- back to the default).
-
- - Collector: #1651: removed compiler warning
-
- - Collector #1661: make 'python-check-interval' setting in zope.conf
- actually work as documented. This setting allows for important
- tuning opportunities for production Zope servers.
-
- - Collector #1657: Don't break host-based virtual hosting when
- purging an HTTP accelerator.
-
- - DTML Methods were not interoperable with the new filestream_iterator
- and caches based on it (FileCacheManager).
-
- - Collector #1655: fixed severe memory leak in TemporaryStorage
-
- - Collector #1407: fixed XML escaping problem introduced in 2.7.4 b1
-
- - Collector #1151: HTTP compression was broken on error pages
-
- - The REQUEST now contains a new entry ACTUAL_URL which contains the
- full URL without query string as it appears within the location bar of
- the browser. The key has been added to provide a single key that is
- available for vhosted and non-vhosted installations.
-
- - Collector #1605: VHM did not quote URLs
-
- - webdav.Resource: during COPY, manage_afterClone was called way
- too early, thus the object wasn't bound to the database and
- couldn't find a context. Changed to behave the same way as
- CopySupport.
-
- - RAMCacheManager: opimized performance by using cPickle instead
- of pickle and by using the highest pickle protocol available
- instead of using ASCII pickles (patch by Dieter Maurer)
-
- - Collector #631: Image URLs in StructuredText containing port
- numbers were not rendered correctly
-
- - Collector #1498: Don't choke on malformed cookies. Cookies of
- the form "foo=bar; hmm; baz=gee" will give an empty value for
- 'hmm' instead of silently discarding it and the rest of the
- string. (Thanks to 'sirilyan' for the patch.)
-
- - bin/zopectl test now uses os.execv, instead os os.system,
- so that options with characters that needs shell quoting
- doesn't break the command.
-
- - Collector #1219: Make XML export sane again.
-
- - Collector #945: Allow adding empty PythonScript instances
- programmatically.
-
- - Updated doc/UNITTEST.txt and lib/python/Testing/README.txt to
- reflect progress made since UNITTEST.txt was originally written.
-
- - Removed Version objects from the add menu. Versions are agreed to be a
- feature that should not be used as it is not well implemented and
- allows for data loss.
-
- - Collector #1510: Allow encoding of application/xhtml+xml pages
- according to the charset specified in the Content-Type header
- (thanks to Jacek Konieczny for the patch).
-
- - Collector #1599: made sqltest work with unicode strings (thanks
- to Peter Sabaini for the patch).
-
- - zopectl: fixed handling of child processes (patch by Dieter Maurer)
-
- - Collector #1593: fixed dumb _get_id() implementation in
- OFS.CopySupport that produced copy_of_copy_of....files (thanks
- to Alexandre Boeglin for the patch).
-
- - Collector #1450: files in utilities/ZODBTools are now installed
- during the installation process in the 'bin' directory
-
- - Collector #1003: added new 'http-header-max-length' directive
- to zope.conf to specific the maximum length of a HTTP request
- header before it is considered as a possible DoS attack and
- discarded.
-
- - Collector #1371: added new 'cgi-maxlen' directive to zope.conf
- to limit the amount of form data being processed by Zope
- to prevent DoS attacks
-
- - Collector #1407: changed WebDAV display name for objects
- to title_or_id()
-
- - the 'trusted-proxy' directive in zope.conf now also accepts
- hostnames instead of IP addresses only (patch by Dieter Maurer)
-
- - Fixed test.py to not over-resolve symbolic links. Needed to run
- tests when the Products directory and a product are symlinks.
-
- - Collector #1583/ZReST: Fixed handling of the title attribute
- for non-ascii characters.
-
- - Collector #1577: Fixed cryptic error message in ZPublisher if a
- non-ASCII string is passed to a date, int, long or float property.
-
- - Collector #1576: Fixed Z Search Interface to use proper HTML.
-
- - Collector #1127: strftime did not take timezone into account.
-
- - Collector #1569/DateTime: Added a new ISO8601-method that will
- return correctly formatted ISO 8601-representations to augment
- the ISO method which isn't compliant with ISO 8601.
-
- - ZPublisher: changed some hardcoded 'latin1' arguments to 'iso-8859-15'
- since latin1 is obsolete.
-
- - Collector #1566: Installation of Zope on some older Solaris versions
- could fail due to a broken "echo" implementation causing the
- creation of a borked version.txt file.
-
- - Collector #934: Image and File objects are now always internally
- split into small chunks even when initialized from a string.
-
- - docutils: updated to V 0.3.5. The Zope core now contains a full
- copy of the docutils package except some GPLed files which can not
- be included with the Zope distribution due to license constraints
- on svn.zope.org.
-
- - docutils: moved from lib/python/docutils to
- lib/python/third_party/docutils
-
- - Collector #1557/OFS.Image: Introducing new 'alt' property. The
- 'alt' attribute is no longer taken from the 'title' property but
- from the new 'alt' property. The border="0" attribute is no longer
- part of the HTML output except specified otherwise.
-
- - Set a default value of '' for the new 'alt' property as not to
- break existing content.
-
- - Collector #1511: made IPCServer show up in the Control Panel under
- "Network Services"
-
- - Collector #1443: Applied patch by Simon Eisenmann that reimplements
- the XML parser used in WebDAV fixing a memory leak.
-
- - Always unescape element contents on webdav.xmltools
-
- - Use saxutils to escape/unescape values for/from
- PROPFIND/PROPPATCH.
-
- - Make OFS.PropertySheet use the escaping function from
- webdav.xmltools.
-
- - Escape/unescape " and '
-
- - Don't escape properties stored as XML (ie: having a
- __xml_attrs__ metadata set by PROPPATCH) when building a
- PROPFIND response.
-
- - If a PROPPATCH element value contains only a CDATA section,
- store the CDATA contents only.
-
- - Catch AttributeErrors and KeyErrors raised from
- __bobo_traverse__ and convert them to NotFound. In debug mode
- a more verbose error message is issued, the same way it's done
- on attribute/item traversal.
-
- - Collector #1523: replace the text field for importing .zexp/.xml
- files with a selection list
-
- - Stitch newly-created object into it's container *before*
- calling it's PUT() method. This fixes an issue with
- OFS.File/OFS.Image that would result into reading the whole
- file in memory and wrapping it into a *single* Pdata object.
-
- - Import ZServer.CONNECTION_LIMIT variable *inside* the method
- that uses it. Before this, the variable was imported at the
- module level, thus binding it too early which would cause the
- ZConfig handler to have no real effect.
-
- Zope 2.8a1 (2004/10/17)
-
- Features added
-
- - Included Stefan Holek's ZopeTestCase 0.9
-
- - The SiteErrorLog allows you to acknowledge (or delete) exceptions,
- so you can reduce or clear the list without restarting your
- Zope server. Additionally the SiteErrorLog is covered by unit tests
- now.
-
- - Unit tests added for the SiteErrorLog.
-
- - UI improvement for the ZCatalog. The "catalog contents" allow
- you to filter the cataloged objects by path now.
-
- - Made test.py follow symbolic links on POSIX systems.
-
- - added utilities/reindex_catalog.py to perform ZCatalog maintenance
- operations from the command line (through zopectl)
-
- - RESPONSE.setBody and RESPONSE.setStatus now accept lock
- parameters in the same way as RESPONSE.redirect. These prevent
- further calls to the methods from overwriting the previous value.
- This is useful when writing http proxies.
-
- - DateTime: new DateTime instance can be constructed from a given
- DateTime instance: d_new = DateTime(d_old)
-
- - The DateTime parser now throws a SyntaxError upon any parsing errors.
-
- - ZCatalog: added a new configuration option in the "Advanced" tab
- to provide optional logging of the progress of long running
- reindexing or recataloging operations.
-
- - made Zope.configure return the starter instance to enable other
- methods to be called, such as starter.setupConfiguredLoggers()
-
- - Improved Unicode handling in Page Templates. Template contents
- and title will now be saved as a Unicode string if
- the management_page_charset variable can be acquired and is true.
- The character set of an uploaded file can now be specified.
-
- - zopectl now accepts the -m argument to set a umask for files created
- by the managed process (e.g. -m 002 or --umask 002).
-
- - AccessControl/permission_settings() now has a new optional parameter
- 'permission' to retrieve the permission settings for a particular
- permission.
-
- - The obsolete 'SearchIndex' package has been removed
-
- - Traversal now supports a "post traversal hook" that get's run
- after traversal finished and the security context is established.
-
- - Using "_usage" parameters in a ZCatalog query is deprecated and
- logged as DeprecationWarning.
-
- - MailHost now has two additional properties, a user id and a
- password. These are used to attempt ESMTP authentication
- before sending a mail.
-
- - Folder listings in FTP now include "." as well as "..".
-
- - When a VHM is activated, it adds the mapping
- 'VIRTUAL_URL_PARTS': (SERVER_URL, BASEPATH1, virtual_url_path)
- to the request's 'other' dictionary. If BASEPATH1 is empty, it
- is omitted from the tuple. The joined parts are also added
- under the key 'VIRTUAL_URL'. Since the parts are evaluated
- before traversal continues, they will not reflect modifications
- to the path during traversal or by the addition of a default
- method such as 'index_html'.
-
- - Extension Classes, a key Zope foundation, have been totally
- rewritten based on Python new-style classes.
-
- This change provides a number of advantages:
-
- o Use of new-style class features (e.g. slots, descriptors,
- etc.) in Zope objects. Support for object protocols (special
- __ methods) added since Python 1.4.
-
- o Support for cyclic garbage collection.
-
- o Ability to use new-style classes as base classes of Zope objects.
-
- o Pave the way for sharing code between Zope 2 and Zope 3.
-
- Note -- Extension classes with __of__ methods are made into
- Python read descriptors.
-
- If an extension classes is used to implement a descriptor,
- indirectly by implementing __of__ or directly by implementing
- __get__, the behavior of the descriptor will differ from
- ordinary descriptors in an important way. The descriptors
- __get__ method will be called *even if* the descriptor is
- stored on an instance of an extension class. Normally
- descritor __get__ methods are called only of the descriptor
- is stored in a class.
-
- - ZODB 3.3
-
- This is the first version of ZODB that does not require
- ExtensionClass.
-
- - Add 'parity' method to ZTUtils Iterators.
-
- - Allow untrusted code to mutate ZPublisher record objects.
-
- - Added a "mime-types" configuration value which names a file
- giving additional MIME type to filename extension mappings.
- The "mime-types" setting may be given more than once in the
- configuration file; the files have the same format at the
- mime.types file distributed with Apache.
-
- - Changed the ZEO server and control process to work with a
- single configuration file; this is now the default way to
- configure these processes. (It's still possible to use
- separate configuration files.) The ZEO configuration file can
- now include a "runner" section used by the control process and
- ignored by the ZEO server process itself. If present, the
- control process can use the same configuration file.
-
- - ZConfig was updated to version 2.0. The new version includes
- two new ways to perform schema extension; of particular
- interest in Zope is the ability for a configuration file to
- "import" new schema components to allow 3rd-party components
- (such as storages, databases, or logging handlers) to be used.
-
- - The testrunner.py script has been replaced with test.py which
- is now installed into the 'bin' folder.
-
- Bugs fixed
-
- - Removed Python 2.3.3 as valid option. ZODB 3.3 requires Python
- 2.3.4 or later.
-
- - Collector #1332: Added in-place migration of the Catalog.__len__
- attribute to avoid new-style class caching problems. Instances of
- ZCatalog or instances of classes with ZCatalog as base class will be
- migrated automatically. Instances of Catalog or classes with Catalog
- as base class must be migrated manually by calling the migrate__len__()
- method on the every instance. In addition old BTree migration code
- (for pre-Zope 2.5 instances) has been removed. If you want to migrate
- from such an old version to Zope 2.8, you need to clear and reindex
- your ZCatalog).
-
- - Collector #1595: same as in Collector #1132 for indexes derived from
- UnIndex. Exisiting ZCatalog instances must be converted manually
- by calling the "manage_convertIndexes" method through-the-web for
- every single ZCatalog instance. See also doc/FAQ.txt (Installation,
- question #4)
-
- - Collector #1457: ZCTextIndex's QueryError and ParseError
- are now available for import from untrusted code.
-
- - Collector #1473: zpasswd.py can now accept --username
- without --password
-
- - Collector #1491: talgettext.py did not create a proper header
- for the generated .pot file if multiple pagetemplate files
- were processed.
-
- - Collector #1477: TaintedString.strip() now implements the
- same signature as str.strip()
-
- - TAL: tal:on-error does not trap ConflictError anymore.
-
- - OFS.CopySupport: Enforced "Delete objects" permission during
- move (CMF Collector #259).
-
- - Removed DWIM'y attempt to filter acquired-but-not-aceessible
- results from 'guarded_getattr'.
-
- - Collector #1267: applied patch to fix segmentation faults on
- x86_64 systems
-
- - ZReST: the charset used in the rendered HTML was not set to the
- corresponding output_encoding property of the ZReST instance. In
- addition changing the encodings through the Properties tab did not
- re-render the HTML.
-
- - Collector #1234: an exception triple passed to LOG() was not
- propagated properly to the logging module of Python
-
- - Collector #1441: Removed headers introduced to make Microsoft
- webfolders and office apps happy, since they make a lot of
- standards-compliant things unhappy AND they trick MS Office
- into trying to edit office files stored in Zope via WebDAV even
- when the user isn't allowed to edit them and is only trying to
- download them.
-
- - Collector #1445: Fixed bad interaction between -p and -v(v)
- options to test.py that resulted in exceptions being printed
- when they shouldn't have been.
-
- - Collector #729: manage_main doesn't display the correct page title
- most of the time. It is not completely fixed but using title_or_id
- makes folders display the correct id as a fallback.
-
- - Collector #1370: Fixed html generated by Z Search interface.
-
- - Collector #1295: Fixed minor niglet with the Elvis tutorial.
-
- - added "version.txt" to setup.py to avoid untrue "unreleased version"
- messages within the control panel
-
- - Collector #1436: applied patch to fix a memory leak in
- cAccessControl.
-
- - Collector #1431: fixed NetBSD support in initgroups.c
-
- - Collector #1406: fixed segmentation fault by acquisition
-
- - Collector #1392: ExternalMethod ignored management_page_charset
-
- - unrestrictedTraverse() refactored to remove hasattr calls (which mask
- conflict errors) and for greater readability and maintainability.
-
- - Zope can now be embedded in C/C++ without exceptions being raised
- in zdoptions.
-
- - Collector #1213: Fixed wrong labels of cache parameters
-
- - Collector #1265: Fixed handling of orphans in ZTUtil.Batch
-
- - Collector #1293: missing 'address' parameters within one of the server
- sections raise an exception.
-
- - Collector #1345: AcceleratedHTTPCacheManager now sends the
- Last-Modified header.
-
- - Collector #1126: ZPublisher.Converters.field2lines now using
- splitlines() instead of split('\n').
-
- - Collector #1322: fixed HTML quoting problem with ZSQL methods
- in DA.py
-
- - Collector #1124: The ZReST product now uses the same reST encoding
- parameters from zope.conf as the low-level reStructuredText
- implementation.
-
- - Collector #1259: removed the "uninstall" target from the Makefile
- since the uninstall routine could also remove non-Zope files. Because
- this was to dangerous it has been removed completely.
-
- - Collector #1299: Fixed bug in sequence.sort()
-
- - Collector #1159: Added test for __MACH__ to initgroups.c so the
- initgroups method becomes available on Mac OS X.
-
- - Collector #1004: text,token properties were missing in
- PropertyManager management page.
-
- - Display index name on error message when index can't be used as
- 'sort_on'.
-
- - PUT would fail if the created object had a __len__ = 0 (eg:
- BTreeFolder2) and fallback to _default_put_factory. Fix by
- checking if the returned object is None instead.
-
- - Collector #1160: HTTPResponse.expireCookie() potentially didn't
- when an 'expires' keyword argument was passed.
-
- - Collector #1289: Allow ZSQL methods to be edited via WebDAV.
-
- - WebDAV property values were not being properly escaped on
- 'propstat'.
-
- - WebDAV 'supportedlock' was not checking if the object did
- implement the WriteLockInterface before returning it's
- value.
-
- - reStructuredText ignored the encoding settings in zope.conf
-
- - ObjectManager no longer raises string exceptions
-
- - Collector #1260: Testing/__init__.py no longer changes the
- INSTANCE_HOME.
-
- - App.config.setConfiguration() did not update the legacy source
- for debug_mode, Globals.DevelopmentMode.
-
- - Script (Python) objects now have a _filepath attribute, also
- used as the '__file__' global at runtime. This prevents an
- import problem caused by the fix to #1074.
-
- - Minor usability tweaks:
-
- * Increased FindSupport meta type selection widgets
- height to 8 lines
-
- - The DateTime module did not recognize the settings for
- "datetime-format".
-
- - Stop testrunner.py from recursing into the 'build-base' directory
- created by setup.py.
-
- - Collector #1074: Change Scripts' __name__ to None
-
- - Range searches with KeywordIndexes did not work with record-style
- query parameters
-
- - Item_w__name__ now has a working getId() method
-
- - PageTemplateFile now using Item_w__name__ mixin, fixing
- its getId() and absolute_url() methods.
-
- - Only one VirtualHostMonster is allowed per container.
-
- - Collector #1133: TreeTag choked on Ids of type long.
-
- - Collector #1012: A carefully crafted compressed tree state
- could violate size limit. Limit is no longer hardcoded.
-
- - Collector #1139: tal:attributes didn't escape double quotes.
-
- - Management interface of TopicIndexes has been completely broken
-
- - Collector #1129: Improper parsing of ISO8601 in DateTime.
-
- - Removed pervasive use of string exceptions (some may still be
- hiding in the woodwork, but all raise's with string literals are
- gone).
-
- - AccessControl.User used a misleading string exeception,
- 'NotImplemented', which shadowed the Python builtin.
-
- - Collector #426: Inconsistent, undocumented error() method.
-
- - Collector #799: Eliminate improper uses of SCRIPT_NAME.
-
- - Collector #445: Add internal global declaration for Script bindings.
-
- - Collector #616: Make CONTEXTS available to TALES Python expressions.
-
- - Collector #1074: Give Script execution context a __name__
-
- - Collector #1095: Allow TAL paths starting with '/varname' as a
- preferred spelling for 'CONTEXTS/varname'.
-
- - Collector #391: Cut and paste now requires delete permissions.
-
- - Collector #331: Referenses to URL in manage_tabs was changed
- to REQUEST.URL to prevent accidental overriding.
-
- - Made the control panel properly reflect the cache-size setting
- of ZODB's object cache once again.
-
- - ConflictError was swallowed in ObjectManager by
- manage_beforeDelete and _delObject. This could break code
- expecting to do cleanups before deletion.
-
- - Python 2.3 BooleanType wasn't handled properly by ZTUtils
- marshalling and ZPublisher's converters.
-
- - Collector #1065: bin/ scripts didn't export HOME envars.
-
- - Collector #572: WebDAV GET protected by 'FTP Access' permission.
- Two new methods have been added to WebDAV resources, "manage_DAVget"
- and "listDAVObjects". These are now used by WebDAV instead of the
- earlier "manage_FTPget" and "objectValues". This separates the
- permissions, and allows WebDAV specific overriding of these methods.
-
- - Collector #904: Platform specific signals in zdaemon/Daemon.py
- (fixed by removing the "fossil" module from 2.7 branch and head).
-
- - Workaround for Collector #1081: The 'title' property for objects
- derived from OFS.Folder or PropertyManager can now be
- removed and replaced with a ustring property. This allows the usage
- of non-ISO-8859-1 or ASCII charsets
-
- - Collector #951: DateTime(None) is now equal to DateTime()
-
- - Collector #1056: aq_acquire() ignored the default argument
-
- - Collector #1087: ZPT: "repeat/item/length" did not work as documented
- in the Zope Book.
-
- - Collector #721: Entities in tal:attribute values weren't
- properly escaped.
-
- - Collector #851: Traversable.py: A bare try..except shadowed
- conflict errors
-
- - Collector #1058: Several fixes for PropertySheets when used
- outside ZClasses
-
- - Collector #1053: parseIndexRequest turned empty sequence of search
- terms into unrestricted search.
-
- - manage_tabs had a namespace problem with the acquisition of names from
- the manage_options variable resulting to acquire "target" and "action"
- from objects above in the hierachy.
-
- - PathIndex and TopicIndex are now using a counter for the number
- of indexed objects instead of using a very expensive calculation
- based on the keys of their indexes.
-
- - Collector #1039: Whitespace problem in Z2.log fixed
-
- - changed some bare try: except:'s in Shared.DC.ZRDB.Connection
- so that they now log exceptions that occur.
-
- - ObjectManager will now attempt to set Owner local role keyed
- to the user's id, rather than username.
-
Copied: Zope/trunk/doc/obsolete/HISTORY.txt (from rev 96821, Zope/trunk/doc/HISTORY.txt)
===================================================================
--- Zope/trunk/doc/obsolete/HISTORY.txt (rev 0)
+++ Zope/trunk/doc/obsolete/HISTORY.txt 2009-02-20 15:35:13 UTC (rev 96831)
@@ -0,0 +1,1964 @@
+Zope History
+
+ This file contains change information for previous versions of
+ Zope. Change information for the current release can be found
+ in the file CHANGES.txt.
+
+ Zope 2.11.3 (unreleased)
+
+ Bugs Fixed
+
+ - configure script: setting ZOPE_VERS to '2.11'
+
+ - Products.PluginIndexes.PathIndex: backported doc fixes /
+ optiimizations from trunk (and ExtendedPathIndex).
+
+ - Updated 'pytz' from '2007f' to '2008i'.
+
+ - Moved svn:externals for 'mechanize', 'ClientPath', and 'pytz' to
+ versions managed outside the Zope3 trunk.
+
+ - Testing.ZopeTestCase: Remove quota argument from DemoStorage calls in
+ preparation for ZODB 3.9.
+
+ Zope 2.11.2 (2008/10/24)
+
+ Bugs Fixed
+
+ - updated to ZODB 3.8.1
+
+ - DateTime conversion of datetime objects with non-pytz tzinfo.
+ Timezones() returns a copy of the timezone list (allows tests to run).
+ (Backport of r89373 from trunk).
+
+ - LP #253362: better dealing with malformed HTTP_ACCEPT_CHARSET headers
+
+ - Testing.ZopeTestCase: installPackage was tied to the ZopeLite layer.
+
+ Zope 2.11.1 (2008/07/17)
+
+ Bugs Fixed
+
+ - Suppressed DeprecationWarning during import of ZPublisher.Iterators:
+ that module needs to use Z2-style interfaces in 2.11, for BBB, but
+ the Interface module itself issues the warning on import.
+
+ - Launchpad #246748: added 'immediate' option to sendXXX() methods
+ for sending a mail immediately by-passing the zope.sendmail delivery
+ mechanism
+
+ - Launchpad #246290: fixed backward compatibility issue
+
+ - zope.testing : updated to 3.5.3
+
+ - zope.viewlets: updated to 3.4.2
+
+ - zope.sendmail: updated to 3.5.0 (fixing Launchpad #230831)
+
+ Zope 2.11.0 (2008/06/15)
+
+ Restructuring
+
+ - Noted long-standing but silent deprecation of Zope2-style
+ interfaces (on import of the Interface package). That package
+ is already gone on the trunk.
+
+ Bugs Fixed
+
+ - Launchpad #229549: Don't ignore 'debug' flag when rendering
+ page templates (thanks to Eric Steele for the patch).
+
+ - Fixed against-the-rules zope.conf option 'fast_listen' to read
+ 'fast-listen' (dash, not underscore).
+
+ Zope 2.11 rc 1 (2008/05/08)
+
+ Bugs Fixed
+
+ - Launchpad #142350: Display description for properties as row title,
+ if present.
+
+ - Launchpad #200007: DateTime(anotherDateTime) now preserves the
+ timezone.
+
+ - Launchpad #213311: Handle "unsubscriptable object" errors
+ during publishing traversal.
+
+ - Products.Five: Fixed vocabulary lookup broken in 2.11 beta 1.
+ ZopeVocabularyRegistry wasn't hooked up on startup.
+
+ - Launchpad #143813: zopectl now exits non-zero when
+ child processes fail.
+
+ - Products.Five: Resynced browser.adding with zope.app.container.
+ This fixes some minor bugs and removes deprecated code.
+
+ - Launchpad #173658: Removed dead code in OFS.Traversable's
+ 'unrestrictedTraverse' (apparent NameError).
+
+ - Launchpad #198274: "empty" ZopePageTemplates could not be
+ unpickled.
+
+ Zope 2.11 beta 1 (2007/12/29)
+
+ Restructuring
+
+ - Moved two implements declarations from Five into the proper classes.
+
+ - Document.sequence: replaced by zope.sequencesort
+
+ - All Products folders as well as the zope and zope.app folders are
+ declared as setuptools namespace packages now. See
+ http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+ for more information about namespace packages.
+
+ - ZPT: removed display of ZPT warnings since warnings were
+ removed from the zope.pagetemplate implementation
+
+ - Ship Zope with a standard docutils 0.4 distribution, instead
+ of a patched one. Both trusted and untrusted code are still
+ protected against unwanted file inclusion.
+
+ - Removed ZGadflyDA (deprecated since Zope 2.9). The code is
+ still available from svn.zope.org/Products.ZGadflyDA.
+
+ - Removed OFS.content_types (deprecated since Zope 2.9)
+
+ - Undeprecated 'zLOG', which will remain a backward-compatibility
+ shim for the Python logging module.
+
+ - Indexes: Removed unused parameters from '_apply_index' methods.
+
+ - Removed deprecated support for product initialization based on
+ '__ac_permissions__' and 'meta_types' attributes.
+
+ - reStructuredText/ZReST: setting raw_enabled to 0 for security
+ reasons
+
+ - OFS Image: Image and File updated to use isinstance(data, str)
+ and raises TypeError upon encountering unicode objects.
+
+ - OFS Application: Updated deprecation warnings.
+ Support for '__ac_permissions__' and 'meta_types' will be removed in
+ Zope 2.11, 'methods' support might remain longer.
+
+ Features added
+
+ - Zope2 startup: Zope will now sends DatabaseOpened and
+ ProcessStarting events during startup
+
+ - Testing.ZopeTestCase: Introduced a "ZopeLite" test layer, making it
+ possible to mix ZTC and non-ZTC tests much more freely.
+
+ - Testing/custom_zodb.py: added support use a different storage other
+ than DemoStorage. A dedicated FileStorage can be mount by setting the
+ $TEST_FILESTORAGE environment variable to a custom Data.fs file. A
+ ZEO server can be configured using the $TEST_ZEO_HOST and
+ $TEST_ZEO_PORT environment variables. This new functionality allows us
+ to use the standard Zope testrunner for writing and running tests
+ against existing Zope installations.
+
+ - The ZPublisher HTTP request has now both the debug and locale
+ attributes available, like its Zope 3 counterpart. The debug attribute
+ was so far limited to code from the zope.* namespace in order to make
+ the Zope 3 ZPT engine work. The locale attribute provides access to an
+ zope.i18n.interfaces.locales.ILocale object with access to locale
+ related information like date / time formatting or translated language
+ and country names. Form variables of both debug and locale will shadow
+ these two attributes and their use is therefor discouraged.
+
+ - MailHost: now uses zope.sendmail for delivering the mail. With this
+ change MailHost integrates with the Zope transaction system (avoids
+ sending dupe emails in case of conflict errors). In addition MailHost
+ now provides support for asynchronous mail delivery. The 'Use queue'
+ configuration option will create a mail queue on the filesystem (under
+ 'Queue directory') and start a queue thread that checks the queue
+ every three seconds. This decouples the sending of mail from its
+ delivery. In addition MailHosts now supports encrypted connections
+ through TLS/SSL.
+
+ - integrated ZODB 3.8 (featuring BLOB support)
+
+ - integrated latest Zope3 components (aka Zope 3.4)
+
+ - Support for using zopectl on Windows has been added. All commands are
+ supported and there are two Windows specific ones: install and remove,
+ which install or remove the Windows service. The start, stop and
+ restart commands handle the Windows service. In order to use them, you
+ need to call 'bin\zopectl install' once.
+
+ - ZCatalog result objects (catalog brains) now have an interface,
+ ZCatalog.interfaces.ICatalogBrain.
+
+ - PythonScripts: allow usage of Python's 'sets' module
+
+ - added 'fast_listen' directive to http-server and webdav-source-server
+ sections in etc/zope.conf in order to defer the opening of the sockets
+ until the late startup phase. This in in particular useful when running
+ Zope behind a loadbalancer (patch by Patrick Gerken).
+
+ - AccessControl.Role: added new method
+ manage_getUserRolesAndPermissions().
+
+ - AccessControl: the form behind the "Security" tab has a new form
+ for user-related reporting of permissions and roles
+
+ - Zope 3-based exception views can now be registered in ZCML for
+ various exceptions that can be raised by Zope. Registering an
+ exception view can be done like this::
+
+ <browser:page
+ for="zope.publisher.interfaces.INotFound"
+ class=".view.SomeView"
+ name="index.html"
+ permission="zope.Public" />
+
+ Relevant exceptions that can have views are:
+
+ o zope.interface.common.interfaces.IException
+
+ o zope.publisher.interfaces.INotFound
+
+ o zope.security.interfaces.IForbidden
+
+ o zope.security.interfaces.IUnauthorized
+
+ Note that the name has to be 'index.html' for the exception
+ view to work. (patch by Sidnei da Silva from Enfold,
+ integration by Martijn Faassen (Startifact) for Infrae)
+
+ - DateTime now uses pytz for time zone data. This means support
+ for more time zones and up to date daylight saving time
+ information.
+
+ Bugs Fixed
+
+ - Collector #2113: 'zopectl test' masked Ctrl-C.
+
+ - Collector #2190: Calls to zope.security.management.checkPermission
+ weren't rerouted to Zope 2's security policy.
+
+ NOTE: If you already have a Zope 2.10 instance running, you
+ will either have to recreate it or add the following lines to
+ the end of the etc/site.zcml file::
+
+ <securityPolicy
+ component="Products.Five.security.FiveSecurityPolicy" />
+
+ - Collector #2223: Evaluation of booleans in TALES and the
+ 'default' variable.
+
+ - Collector #2213: Can't edit "old" ZopePageTemplate instances.
+
+ - Collector #2235: A number of ZCatalog methods were doing boolean
+ evaluation of objects that implemented __len__ instead of checking
+ them against None. Replaced a number of "if not obj" with
+ "if obj is None".
+
+ Zope 2.10.8 (unreleased)
+
+ Restructuring
+
+ - Added 'InitializeClass' alias in 'App.class_init' to ease migration.
+ In Zope 2.12 it will be recommended to import 'InitializeClass' from
+ 'App.class_init' instead of 'Globals'.
+
+ - Moved 'ApplicationDefaultPermissions' from 'App.class_init' to
+ 'AccessControl.Permissions', in order to break an import cycle
+ in third-party code which avoids imports from 'Globals.' Left
+ the class importable from its old location without deprecation.
+
+ Bugs fixed
+
+ - LP/#143873: Fixed problems when no HTTP_ACCEPT_CHARSET is in the
+ request. This required an update of zope.publisher to 3.3.3.
+
+ - LP/#324876: tighened regex for detecting the charset
+ from a meta-equiv header
+
+ - Acquisition wrappers now correctly proxy __iter__.
+
+ - Launchpad #174705: ensure that the error info object exposed to a
+ 'tal:on_error' handler has attributes visible to restricted code.
+
+ Zope 2.10.7 (2008/10/24)
+
+ Bugs fixed
+
+ - Ensure that response header values cannot embed CRLF pairs, which
+ violate the HTTP spec (RFC 2616).
+
+ - Launchpad #282677: fixed implementation of guarded_map and
+ provided tests and implementation for guarded_zip
+ (RestrictedPython).
+
+ - Lauchpad #143736,#271395: fixed AttributeError' on _ltid in TempStorage
+
+ - 'AccessControl.ZopeGuards.guarded_import' mapped some Unauthorized
+ exceptions onto ImportErrors: don't do that! Also, removed
+ mutable defaults from argument list, improved tests.
+
+ - LP #281156: 'AccessControl.SecurityInfo.secureModule' dropped
+ ModuleSecurity for failed imports, obscuring later attempts to
+ import the same broken module.
+
+ - LP #142667: Updated to ZODB-3.7.3 to fix problem with product
+ auto-refresh.
+
+ - Updated to Five 1.5.8
+
+ - Launchpad #245649: the Products package is now a proper
+ "namespace package" under the rules specified by setuptools.
+
+ - Fixed outdated transaction.commit(1) call in
+ ZODBMountPoint.SimpleTrailblazer
+
+ - Launchpad #239636: Ensure that HEAD requests lock an empty body
+ for NotFound errors.
+
+ - Launchpad #229549: Don't ignore 'debug' flag when rendering
+ page templates (thanks to Eric Steele for the patch).
+
+ - integrated Hotfix-2008-08-12
+
+ - Launchpad #267545: DateTime(DateTime()) now preserves the
+ correct hour
+
+ - Launchpad #262313: respect the 'Expand macros when editing' flag
+ when editing a page template through the ZMI
+
+
+ Zope 2.10.6 (2008/05/10)
+
+ Bugs fixed
+
+ - Launchpad #142350: Display description for properties as row title,
+ if present.
+
+ - Launchpad #200007: DateTime(anotherDateTime) now preserves the
+ timezone.
+
+ - Launchpad #213311: Handle "unsubscriptable object" errors
+ during publishing traversal.
+
+ - Launchpad #143813: zopectl now exits non-zero when
+ child processes fail.
+
+ - Launchpad #173658: Removed dead code in OFS.Traversable's
+ 'unrestrictedTraverse' (apparent NameError).
+
+ - Launchpad #198274: "empty" ZopePageTemplates could not be
+ unpickled.
+
+ - zope.security: switched to use standalone 3.3.3 version, which
+ contains a backport of a huge performance bugfix from the 3.4 branch.
+
+ - Launchpad #164783: Indexes were migrated on initial creation of a
+ ZODB.
+
+ Zope 2.10.5 (2007/10/30)
+
+ Other changes
+
+ - Turned deprecation warnings for manage_afterAdd, manage_beforeDelete
+ and manage_afterClone methods into discouraged warnings. These methods
+ will not be removed in Zope 2.11, but stay for the foreseeable future.
+ Using events is still highly encouraged.
+
+ Bugs fixed
+
+ - Launchpad #147201: treat container-class in zope.conf as a string,
+ making it possible to use types from extra products directories.
+
+ - Collector #2358: backported fix making 'Products' package a real
+ "namespace package" from the trunk.
+
+ - Collector #2287: form ':record' objects did not implement enough of
+ the mapping interface.
+
+ - Collector #2352: fix in OFS.Traversable
+
+ - Collector #2346: username logging in FCGI crashed the server
+
+ - ZopePageTemplate's pt_edit did not recognize content type arguments
+ which had a charset information included.
+
+ - Collector #2332: SessionDataManger: don't swallow ConflictErrors
+
+ - Collector #2339: ZPT: fixed unicode issue when using the 'structure'
+ directive
+
+ - Launchpad #151020: HTTP_CHAR_SET headers containing 'x-user-defined'
+ caused a LookupError exception. Unknown encodings are from now on
+ silently discarded.
+
+ Zope 2.10.4 (2007/06/23)
+
+ Other changes
+
+ - updated to ZODB 3.7.1
+
+ - updated to Zope 3.3.2
+
+ - updated to Five 1.5.5
+
+ Bugs fixed
+
+ - Collector #1306: Missing acquisition context on local roles screen.
+
+ - Collector #2153: Supporting unquoted cookies with spaces.
+
+ - The REQUEST no longer accepts holds after it has been closed.
+
+ - Collector #1441: WebDAV compatibility with Windows Web Folders
+ restored by adding a configuration variable that controls the
+ sending of the non-standard MS-Author-Via and Public
+ headers. Thanks for PatrickD for the the hard work coming up
+ with an initial patch.
+ (http://zope.org/Collectors/Zope/1441)
+
+ - Fixed bug in ZPublisher.BaseRequest with persistent site managers. An
+ EndRequestEvent was thrown after the ZODB connection was already
+ closed and thus the site manager not being available anymore.
+
+ - Collector #2295: Comments in PythonScripts could lead to syntax
+ errors
+
+ - Collector #2307: ObjectCopiedEvent not dispatched to sublocations.
+
+ - Collector #2304: fixed markup issue in ptEdit.zpt
+
+ - Collector #2260: fixed Examples.zexp
+
+ - Collector #2320: HTTPResponse setHeader lowercased keys but getHeader
+ did not, causing lookups of 'Content-Type' to fail
+
+ - Collector #2321: Skip trusted proxies when extracting the client IP
+ address from the request.
+
+ - Collector #2318: Allow override of zopectl's control socket in
+ zope.conf
+
+ - Collector #2316: correctly unpack DateTimeIndex dates when browsing the
+ index.
+
+ - Collector #1866: a 304 HTTP status should not have a content length.
+
+ - Collector #2300: delimit *all* HTTP Response headers with CRLF.
+
+ Zope 2.10.3 (2007/03/25)
+
+ Bugs fixed
+
+ - Collector #2298: webdav.Resource.COPY and webdav.Resource.MOVE did
+ not send the expected copy/move events.
+
+ - Collector #2296: Fixed import of ZClass products, broken by removal
+ of BBB support for pasting objects whose meta_type info was
+ permission-free.
+
+ - Collector #2294: Protected DOS-able ControlPanel methods with the
+ same 'requestmethod' wrapper.
+
+ - Collector #2294: Protected various security mutators with a new
+ 'postonly' decorator. The decorator limits method publishing to
+ POST requests only, and is a backport from Zope 2.11's requestmethod
+ decorator factory.
+
+ - Collector #2289: restored compatibility with PTProfiler
+
+ - No longer opens a zodb connection every time a ProductDispatcher
+ is looked up.
+
+ - Collector #2288: @ and + should not be quoted when forming
+ request URLs in BaseRequest and HTTPRequest
+
+ - Undeprecated 'zLOG', which will remain a backward-compatibility
+ shim for the Python logging module.
+
+ - PageTemplate/ZRPythonExpr.py: expressions represented as unicode string
+ caused UnicodeDecodeErrors.
+
+ Zope 2.10.2 (2007/01/26)
+
+ Bugs fixed
+
+ - Updated Zope 3 to bugfix release 3.3.1.
+
+ - Collector #2261: Acquisition when creating objects via Webdav.
+
+ - Collector #2269: fixed broken FTP support for ZPT
+
+ Zope 2.10.2 beta 1 (2007/01/14)
+
+ Bugs fixed
+
+ - Fixed Collector #2190: Calls to
+ zope.security.management.checkPermission aren't rerouted to
+ Zope 2's security policy.
+
+ NOTE: If you already have a Zope 2.10 instance running, you
+ will either have to recreate it or add the following lines to
+ the end of the etc/site.zcml file::
+
+ <securityPolicy
+ component="Products.Five.security.FiveSecurityPolicy" />
+
+ - Fixed Collector #2223: Evaluation of booleans in TALES and the
+ 'default' variable.
+
+ - Reverted backward-incompatible fix for Collector #2191.
+
+ - Fixed the creation of lib/python/Zope2/version.txt
+
+ - added Python 2.4.4 as optimal Python version to 'configure'
+
+ - the ZopePageTemplate implementation now uses unicode
+ internally. Non-unicode instances are migrated on-the-fly to
+ unicode. However this will work only properly for ZPT
+ instances formerly encoded as utf-8 or ISO-8859-15. For other
+ encodings you might set the environment variable
+ ZPT_REFERRED_ENCODING to insert your preferred encoding in
+ front of utf-8 and ISO-8859-15 within the encoding sniffer
+ code. In addition there is a new 'output_encodings' property
+ that controls the conversion from/to unicode for WebDAV/FTP
+ operations.
+
+ - the ZPT implementation has now a configurable option in order
+ how to deal with UnicodeDecodeErrors. A custom
+ UnicodeEncodingConflictResolver can be configured through ZCML
+ (see Products/PageTemplates/(configure.zcml,
+ unicodeconflictresolver.py, interfaces.py)
+
+ Zope 2.10.1 (2006-11-22)
+
+ Bugs fixed
+
+ - Collector #2191: extended DateTime parser for better support
+ to the ISO8601 specification.
+
+ - Reworking of _cached_result in Shared.DC.ZRDB.DA.DA:
+
+ - fixed KeyError reported in Collector #2212
+
+ - fixed two memory leaks that occurred under high load
+
+ - fixed broken cache keys for people using the obscure
+ Shared.DC.ZRDB.DA.DA.connection_hook
+
+ - fixed incorrect cache ordering resulting in newer results
+ being dumped when the cache became too large.
+
+ - Collector #2232: Can't call DTML templates from Page Templates
+
+ - Collector #2213: Can't edit "old" ZopePageTemplate instances.
+
+ - Collector #2237: 'make' doesn't tell you to run 'make inplace'
+ before running 'make instance'.
+
+ - Collector #2235: A number of ZCatalog methods were doing boolean
+ evaluation of objects that implemented __len__ instead of checking
+ them against None. Replaced a number of "if not obj" with
+ "if obj is None".
+
+ - Collector #2208: rewriting/setting the 'charset' part of the
+ content-type HTTP header will be done only for 'text/*'
+
+ - Collector #2209: ZTUtils module could not be used inside ZPT
+
+ - Collector #2206: Set PYTHONPATH to include existing PYTHONPATH
+ in skel/bin/zopectl.in and skel/bin/runzope.in
+
+
+ Zope 2.10.0 (2006/10/04)
+
+ Bugs fixed
+
+
+ Zope 2.10.0 RC 1 (2006/09/25)
+
+ Bugs fixed
+
+ - Call setDefaultSkin on new requests created as the result of
+ ConflictError retries.
+
+ - Collector #2187: PUT_factory broken
+
+ Zope 2.10.0 beta 2 (2006/09/17)
+
+ Bugs fixed
+
+ - Collector #2117: Don't choke in 'unrestrictedTraverse' for '+'
+ path elements.
+
+ - Collector #2185: Log username for FCGI requests.
+
+ - Collector #2152: Fixed MailHost documentation; simple_send does not
+ process or validate its arguments in any way.
+
+ - Collector #2175: ZTUtils.make_hidden_input did not escape
+ double-quotes.
+
+ - Collector #2176: Fixed bad logging call.
+
+ - Collector #1907: Moved 'alt' property from File to Image.
+
+ - Collector #1983: Specifying session-resolution-seconds >= 1200 caused
+ Zope startup to fail.
+
+ - Collector #2169: webdav.Resource.COPY did not send ObjectClonedEvent.
+
+ - Collector #2178: Fix ZopeTestCase doctest support for layers
+
+ Zope 2.10.0 beta 2 (2006/08/20)
+
+ Bugs Fixed
+
+ - Collector #2155: Fix wrong parameter being passed to
+ logger's error() method, with tests.
+
+ - Updated Five to stable 1.5 release.
+
+ - Traversal order changes were causing WebDAV requests which used
+ acquisition to fail.
+
+ - Collector #2157: Expose name of broken class in SystemError raised
+ from '__getstate__' of a broken instance.
+
+ - Usage of 'urljoin' in 'webdav.davcmds' could lead to wrongly
+ constructed urls.
+
+ - Fix #2141: TALES doesn't traverse correctly over 'repeat'
+ variable
+
+ - reStructuredText/ZReST: setting raw_enabled to 0 for security
+ reasons
+
+ - Collector #2113: 'zopectl test' masked Ctrl-C.
+
+ - OFS Image: Image and File updated to use isinstance(data, str)
+ and raises TypeError upon encountering unicode objects.
+
+ - OFS Application: Updated deprecation warnings.
+ Support for '__ac_permissions__' and 'meta_types' will be removed in
+ Zope 2.11, 'methods' support might remain longer.
+
+ - Collector #2136: Map ResourceLockedError to the correct response code.
+
+ - Collector #2016: DemoStorage couldn't wrap base storages without
+ an '_oid' attribute.
+
+ - Collector #2118: Empty TALES path expressions are allowed
+ in Zope 2.
+
+ - Acquisition wrappers now correctly proxy __contains__.
+
+ - Collector #2116: sequence.sort() did not work properly
+ locale related comparison methods
+
+ - Collector #2122: fixed missing is_proxying_match definition
+ in ZServer/HTTPServer
+
+ - Collector 2077: fixed problem with ACTUAL_URL and SiteRoot
+
+ - Collector #2073: fixed misbehaviour of OFS.Owned.changeOwnership
+
+ - Collector #2063: cleaned up some mess in MailHost.sendTemplate()
+
+ - View and attribute lookup order was changed to the following:
+ 1. Unacquired attributes
+ 2. Views
+ 3. Acquired attributes
+ According to consensus in z3-five mailing list:
+ http://codespeak.net/pipermail/z3-five/2006q2/001474.html
+
+ - The defaultView directive now only looks up views, not attributes.
+
+ - Collector #2178: Fix ZopeTestCase doctest support for layers
+
+ Other Changes
+
+ - Disabled docutils file inclusion completely, rather than trying
+ to jigger it via configuration settings.
+
+ - Returned to the "classic" './configure && make && make install'
+ recipe, dropping the use of 'zpkg' for building Zope2 releases.
+
+ Zope 2.10.0 beta 1 (2006/05/30)
+
+ Restructuring
+
+ - Zope 2.10+ now includes site.zcml as part of its instance
+ creation skel directory. As a consequence Five now requires
+ this file to exist in every instance. If upgrading a site
+ from Zope 2.9 to 2.10, you will need to copy site.zcml and
+ package-includes/ from your installed Zope installation
+ location (skel/etc/) into the etc/ directory of your upgraded
+ instance.
+
+ The rationale for requiring this new file is to bring Zope 2
+ instances closer in consistency to Zope 3 instances. It also
+ eases use of Zope 3 coding techniques in Zope 2 and removes
+ some confusion when trying to run pure Zope 3 applications on
+ Zope 2.
+
+ - Products.PageTemplates now uses the Zope 3 ZPT implementation
+ in zope.pagetemplate.
+
+ - The TAL package has been deprecated in favour of the TAL
+ engine from zope.tal.
+
+ - Products.PageTemplates.TALES has been deprecated in favour of
+ the TALES engine from zope.tales.
+
+ - ZTUtils.Iterator has been deprecated in favour of the TALES
+ iterator implementation in zope.tales.tales.
+
+ - ZCatalog: removed manage_deleteIndex(), manage_delColumns()
+ which were deprecated since Zope 2.4
+
+ - deprecated the zLOG module. Use Pythons 'logging' module instead.
+
+ - replaced all zLOG occurences (expect the zLOG module itself) with
+ the 'logging' module
+
+ - PluginIndexes/TextIndex is deprecated. Use ZCTextIndex instead
+
+ - the 'StructuredText' module is deprecated. Use zope.structuredtext
+ instead
+
+ - removed ZopeTutorial (Elvis is now really dead)
+
+ - ZClasses are deprecated and should no longer be used. In addition
+ any code related to the ZClasses (re)distribution mechanism is
+ removed.
+
+ - ZGadyFlyDA/Gadfly is deprecated
+
+ - deprecated OFS.content_types (to be removed in Zope 2.11) and
+ replaced all occurences with zope.app.content_types
+
+ - OFS.content_types: moved code to zope.app.content_types and added
+ method aliases
+
+ - Using FastCGI is offically deprecated.
+
+ Features added
+
+ - added PluggableIndexes/interfaces/IIndexConfiguration (on request
+ by the GenericSetup community)
+
+ - Included Zope 3.3 and corresponding Five 1.5 release.
+
+ - There is now a default favicon.ico.
+
+ - Experimental WSGI and Twisted support for http.
+ Zope now has a WSGI interface for integration with other
+ web-servers than ZServer. Most notably Twisted is supported.
+ The WSGI application is ZPublisher.WSGIPublisher.publish_module
+
+ You can make ZServer use the twisted interface with the
+ "use-wsgi on" keyword in the http-server section in zope.conf.
+
+ You can run Twisted by installing Twisted (2.1 recommended) and
+ replacing the http-server section with a server section in
+ zope.conf. It is not possible to run a Twisted server together with
+ a ZServer at the same time::
+
+ <server>
+ address 8080
+ type Zope2-HTTP
+ </server>
+
+ WSGI: http://www.python.org/dev/peps/pep-0333/
+ Twisted: http://twistedmatrix.com/
+
+ - The traversal has been refactored to take heed of Zope3s
+ IPublishTraverse adapter interfaces. The ZCML directives
+ five:traversable and five:defaultViewable are therefore no
+ longer needed, as everything now is five:traversable and
+ five:defaultViewable.
+
+ There was a bug in earlier versions of Five that allowed you
+ to do custom publishing traversal with ITraversable adapters.
+ This bug has been corrected. Anybody using ITraversable
+ adapters need to convert them to IPublishTraversal adapters.
+
+ - Testing.makerequest: Added an 'environ' argument so
+ clients can use mappings other than os.environ.
+
+ - Updated to Docutils 0.4.0
+
+ - reStructuredText: The default value for the 'stylesheet'
+ property has been changed from 'default.css' to None because
+ there is no 'default.css' file by default.
+
+ - ZReST: rewritten render() method to integrate it smoothly
+ with Docutils 0.4.0. The default value for the 'stylesheet'
+ property has been changed from 'default.css' to None because
+ there is no 'default.css' file by default.
+
+ - Added a "clock server" servertype which allows users to
+ configure methods that should be called periodically as if
+ they were being called by a remote user agent on one of Zope's
+ HTTP ports. This is meant to replace wget+cron for some class
+ of periodic callables.
+
+ To use, create a "clock-server" directive section anywhere
+ in your zope.conf file, like so::
+
+ <clock-server>
+ method /do_stuff
+ period 60
+ user admin
+ password 123
+ host localhost
+ </clock-server>
+
+ Any number of clock-server sections may be defined within a
+ single zope.conf. Note that you must specify a
+ username/password combination with the appropriate level of
+ access to call the method you've defined. You can omit the
+ username and password if the method is anonymously callable.
+ Obviously the password is stored in the clear in the config
+ file, so you need to protect the config file with filesystem
+ security if the Zope account is privileged and those who have
+ filesystem access should not see the password.
+
+ Descriptions of the values within the clock-server section
+ follow::
+
+ method -- the traversal path (from the Zope root) to an
+ executable Zope method (Python Script, external method,
+ product method, etc). The method must take no arguments or
+ must obtain its arguments from a query string.
+
+ period -- the number of seconds between each clock "tick" (and
+ thus each call to the above "method"). The lowest number
+ providable here is typically 30 (this is the asyncore mainloop
+ "timeout" value).
+
+ user -- a zope username.
+
+ password -- the password for the zope username provided above.
+
+ host -- the hostname passed in via the "Host:" header in the
+ faux request. Could be useful if you have virtual host rules
+ set up inside Zope itself.
+
+ To make sure the clock is working, examine your Z2.log file. It
+ should show requests incoming via a "Zope Clock Server"
+ useragent.
+
+ - Added a 'conflict-error-log-level' directive to zope.conf, to set
+ the level at which conflict errors (which are normally retried
+ automatically) are logged. The default is 'info'.
+
+ - The SiteErrorLog now copies exceptions to the event log by default.
+
+ - ObjectManager now has an hasObject method to test presence. This
+ brings it in line with BTreeFolder.
+
+ - Improved logging of ConflictErrors. All conflict errors are
+ logged at INFO, with counts of how many occurred and how many
+ were resolved. Tracebacks for all conflicts are logged a DEBUG
+ level, although these won't help anyone much. If a conflict
+ error is unresolved, it will now bubble up to error_log and
+ standard_error_message.
+
+ - Use new-style security declarations everywhere possible. This
+ means remove the use of __ac_permissions__, foo__roles__ and
+ default__class_init__. A few corner cases can't be converted
+ because of circular imports.
+
+ - Fixed unclear security declarations. Warn when an attempt is
+ made to have a security declaration on a nonexistent method.
+
+ - updated to ZPL 2.1
+
+ - interfaces: Added 'Interfaces' tab to basic core objects.
+ This is a Five feature and only available if the classes are made
+ five:traversable. It allows to inspect interfaces and to assign
+ marker interfaces through the ZMI.
+
+ - webdav: Added support for the z3 WriteLock interface.
+ It is no longer necessary to have the WriteLockInterface in the
+ __implements__ list of lockable objects. All classes inheriting from
+ LockableItem inherit also the IWriteLock interface. Note that this
+ enables webdav locking for all subclasses by default even if they
+ don't specify the WriteLockInterface explicitly.
+
+ - App ProductContext: Made registerClass aware of z3 interfaces.
+ Z2 and z3 interfaces are registered side by side in the same tuple in
+ Products.meta_types. IFAwareObjectManagers like the ZCatalog work now
+ with z3 interfaces as well.
+
+ - Zope now sends Zope 3 events when objects are added or removed
+ from standard containers. manage_afterAdd, manage_beforeDelete
+ and manage_afterClone are now deprecated. See
+ lib/python/Products/Five/tests/event.txt for details.
+
+ - Zope now utilizes ZODB 3.6. It had previously used
+ ZODB 3.4. As a result, the DBTab package was removed, as
+ ZODB 3.6 has multidatabase support that makes DBTab
+ unnecessary.
+
+ - Added a 'product-config' section type to zope.conf, allowing
+ arbitrary key-value mappings. Products can look for such
+ confgiurations to set product-specific options. Products mwy
+ also register their own section types, extending the
+ 'zope.product.base' type. (see the example '<product-config>'
+ section in skel/etc/zope.conf.in for sample usage).
+
+ - Collector #1490: Added a new zope.conf option to control the
+ character set used to encode unicode data that reaches
+ ZPublisher without any specified encoding.
+
+ - AccessControl, Acquisition, App, OFS, webdav, PluginIndexes,
+ ZCatalog and ZCTextIndex: Added some Zope 3 style interfaces.
+ This makes the bridged interfaces shipped with Five obsolete.
+
+ - ZConfig extension, address now also accepts symbolic port names
+ from etc/services (unix) or etc\services (win32)
+
+ - ZPublisher.HTTPRequest.FileUpload now supports full file
+ object interface. This means Iterator support was added. (for
+ line in fileobject: ..., as well as fileobject.next() and
+ fileobject.xreadlines() ) Collector #1837
+
+ - Switched the bundled Zope 3 to release 3.2 and upgraded the
+ Five product to version 1.3 (see Products/Five/CHANGES.txt).
+
+ - The PageTemplate implementation now uses Zope 3 message
+ catalogs by default for translation. Old-style translation
+ services such as Localizer or PlacelessTranslationService are
+ still supported as fall-backs. See Products/Five/doc/i18n.txt
+ for more information.
+
+ - Switched to the new improved test runner from Zope 3. Run
+ test.py with -h to find out more.
+
+ - lib/python/docutils is now a reference to docutils package
+ from the Zope 3 source tree (to get rid of redundant packages)
+
+ Bugs Fixed
+
+ - Collector #1447: When editing content on a virtual-hosted zope,
+ AcceleratedHTTPCacheManager now purges the correct URL.
+
+ - When you add roles in manage_access, roles are now stripped of
+ any leading or trailing spaces.
+
+ - Collector #2062: Fix manage_historyCopy, which was broken, and write
+ tests for it.
+
+ - Collector #2061: Fix problems where windows line endings are passed
+ to restricted code compilers.
+
+ - Collector #2051: Applied patch by Yoshinori Okuji to fix some
+ XML export/import problems, including tests for that feature.
+
+ - Collector #2037: fixed broken ACTUAL_URL for '/'
+
+ - Missing import of NotFound in webdav.Resource
+
+ - Collector #1819: fixed method signature of
+ MountedObject.SimpleTrailblazer._construct()
+
+ - Collector #2019: removed validateValue() from cAccessControl (already
+ removed in former Zope versions from the AccessControl Python
+ implementation)
+
+ - Collector #1991: ZPublisher did not deal properly with a trailing
+ %20 in the URL
+
+ - zope.app.introspector was not included with the source archive
+
+ - Collector #2013: improved XHTML conformance of error messages,
+ some of which did not close '<p>' tags.
+
+ - Collector #2002: fixed broken 'ls -R' functionality (didn't
+ recurse properly subclasses of OFS.Folder)
+
+ - Collector #1992: unified the visible hostnames of the FTP and
+ HTTP servers
+
+ - Collector #1999: fixed broken FTP rename functionality
+ (RNFR now returns 350 as status code instead 250)
+
+ - HTTPResponse: for XML content the encoding specified within
+ the XML preamble is adjusted to the real encoding of the content
+ as specified through the 'charset' within the content-type
+ property.
+
+ - Collector #1939: When running as a service, Zope could
+ potentially collect too much log output filling the NT Event
+ Log. When that happened, a 'print' during exception handling
+ would cause an IOError in the restart code causing the service
+ not to restart automatically.
+
+ Problem is that a service/pythonw.exe process *always* has an
+ invalid sys.stdout. But due to the magic of buffering, small
+ "print" statements would not fail - but once the file actually
+ got written to, the error happened. Never a problem when
+ debugging, as the process has a console, and hence a valid
+ stdout.
+
+ - For content-type HTTP headers starting with 'text/' or 'application/'
+ the 'charset' field is automatically if not specified by the
+ application. The 'charset' is determined by the content-type header
+ specified by the application (if available) or from the
+ zpublisher_default_encoding value as configured in etc/zope.conf
+
+ - Collector #1976: FTP STOR command would load the file being
+ uploaded in memory. Changed to use a TemporaryFile.
+
+ - OFS ObjectManager: Fixed list_imports() to tolerate missing
+ import directories.
+
+ - Collector #1621, 1894: Removed support for use of long-deprecated
+ 'whrandom' module.
+
+ - OFS PropertySheets / webdav: Fixed dav__resourcetype.
+ __dav_collection__ with a false value was overridden by
+ isAnObjectManager.
+
+ - added missing Zope 3 imports: zope.app.intid, zope.app.keyreference,
+ zope.app.session, zope.contentprovider, zope.viewlet
+
+ Other
+
+ - AccessControl.User: Use a better __repr__.
+
+ - ZSQLMethod.manage_main: Moved the error message that warns of a
+ non-existing or closed database connection next to the Connection ID
+ dropdown and present it using red to increase its visibility.
+
+ - The ImageFile module has finally been deprecated for good and
+ will be removed in Zope 2.11. Use App.ImageFile instead.
+
+ after Zope 2.8.1
+
+ - The '@' character is now allowed in object ids (RFC 1738 allows it).
+
+ Bugs Fixed
+
+ - If a content object implemented any in-place numeric operators,
+ untrusted code could call them, thus modifying the content.
+
+ - If Python 2.4 is used, despite the fact that Python 2.4 is
+ unsupported, untrusted code could use generator expressions to
+ gain access to container items.
+
+ - Collector #1895: testrunner: omitting the 'var' from recursive
+ directory walking
+
+ - OFS.Image.manage_FTPget() would str() it's .data attribute,
+ potentially loading the whole file in memory as a
+ string. Changed to use RESPONSE.write() iterating through the
+ Pdata chain, just like index_html().
+
+ - Collector #1863: Prevent possibly sensitive information to leak via
+ the TransientObject's __repr__ method.
+
+ - Repaired 'handle_errors' usage for doctests, along with the
+ supporting 'debug' argument passed to
+ 'ZPublisher.Test.publish_module'.
+
+ - Collector #1879: applied patch by Dieter Maurer to fix a bug in
+ ac_aquire() ignoring the default argument
+
+ - Collector #1864, #1906: fixed header normalization in appendHeader()
+
+ - Collector #1899: fixed migration issue when using export/import for
+ ZCatalog instances
+
+ - Collector #1871: Applied patch to support lists with records using
+ ZTUtils.make_query()
+
+ - AccessControl: creating a new user through "zpasswd inituser" did not
+ work properly with a top-level user folder with enabled password
+ encryption.
+
+ - ZCatalog: refreshCatalog() could not be called safely from a ZEO
+ client script
+
+ - Catalog.clear(): fixed handling of _length attribute (caused import
+ problems for some .zexp files e.g. Squishdot instances)
+
+ - DateIndex now properly removes documents from both indexes if
+ the value is None
+
+ - Collector #1888: Some parts of the TALInterpreter would not pass a
+ default when translating, yet expect a string back. This would cause
+ an error (usually "NoneType has no attribute 'replace'") in the case
+ the message was not translated.
+
+ Zope 2.8.1 (2005/08/11)
+
+ Features added
+
+ - Interface: Added Z3 -> Z2 bridge utilities.
+ This allows to migrate interfaces to Zope 3 style interfaces and
+ bridge them back to oldstyle interfaces for backwards compatibility.
+
+ Bugs Fixed
+
+ - Zope2.Startup.zopectl: fork before execv when running unit tests
+ (don't exit the shell, if run from there).
+
+ - TAL: MassageIDs are now handled the same way as in zope.tal.
+
+ - DocumentTemplate: ustr no longer mangles MassageIDs.
+ Custom string types are now returned unchanged.
+
+ - As developed in a long thread starting at
+ http://mail.zope.org/pipermail/zope/2005-July/160433.html
+ there appears to be a race bug in the Microsoft Windows socket
+ implementation, rarely visible in ZEO and/or in
+ ZServer/medusa/thread/select_trigger.py when multiple processes try
+ to create an "asyncore trigger" simultaneously, most often (in
+ stress tests) manifesting as a hung process. Windows-specific
+ trigger code in both changed to work around this bug when it occurs.
+
+ - Collector #1807: fixed memory leak in cAccessControl.guarded_getattr()
+
+
+ Zope 2.8.1 b1 (2005/07/28)
+
+ Features Added
+
+ - PluginIndexes, ZCTextIndex and ZCatalog: Added some z3 interfaces.
+
+ - Verbose security exception reporting has been folded into Zope,
+ removing the need for the VerboseSecurity product. See the
+ documentation for the "verbose-security" option in zope.conf.
+
+ - "TemporaryStorage" (the storage that is used mainly to back the
+ default sessioning database) is now MVCC capable, which essentially
+ means that its usage will no longer generate ZODB ReadConflictErrors.
+
+ Bugs Fixed
+
+ - Collector #1852: fixed wrong URL construction in webdav.davcmds
+
+ - Collector #1844: fixed whitespace handling in the ZMI "Find" tab
+
+ - Collector #1813: removed spurious inclusion of CMFBTreeFolder.
+ in Products/BTreeFolder2 (CMFCore will include it after 1.5, with
+ an appropriate module alias for backward compatibility).
+
+ - Replaced all transaction.commit(1) calls by transaction.savepoint()
+
+ - Collector #1832: UnIndex swallowed ConflictErrors.
+
+ - Collector #1815: ZCTextIndex accepts (again) sequences of strings to
+ be indexed.
+
+ - Collector #1812: Fixed key error in ZSQL ZMI/Test
+
+ - Fixed CMFBTreeFolder for CMF 1.5+
+
+ - WebDAV COPY and MOVE did not call '_notifyOfCopyTo' and '_postCopy'
+ hooks like it was done in OFS.CopySupport. Additionally added
+ 'manage_changeOwnershipType' to make MOVE behave even closer to
+ OFS.CopySupport.
+
+ - Collector #1548: Fix 'httplib' usage in ZPublisher.Client.
+
+ - Collector #1808: manage_convertIndexes no longer tries to change the
+ index types causing some trouble with CMF.
+
+ - manage_convertIndexes did not treat DateRangeIndexes and PathIndexes
+ properly.
+
+ - Updated Zope X3 to bugfix release 3.0.1
+
+ - Updated Five to bugfix release 1.0.2 (see Products/Five/CHANGES.txt)
+
+ Zope 2.8.0 (2005/06/11)
+
+ Bugs Fixed
+
+ - Collector #1792: applied patch for broken ZClasses
+
+ - doc/FAQ.txt updated: should bear some resemblance to reality now.
+ (PCGI stuff removed; error information updated; PID information
+ updated; upgrade procedure added; some common version questions
+ added.)
+
+ - Collector #1770: Fixed RestructuredText subtitle
+
+ - Collector #1803: Fixed InitializeClass for some corner case.
+
+ - Collector #1798, issue 1: ZopeTestCase no longer tries to
+ install products that were installed by Zope during startup.
+
+ - Collector #1799: Avoid lying about parent's refcount when
+ calling back into Python code.
+
+ - Collector #889: made 'and' operator for KeywordIndexes actually
+ restrict results as expected (thanks to 'aroda' for the patch!).
+
+ - Collector #1323: applied patch to fix umask problem in zdctl
+
+ - Updated Five to bugfix release 1.0.1 (see Products/Five/CHANGES.txt)
+
+ Zope 2.8.0 b2 (2005/05/22)
+
+ Features added
+
+ - Made WebDAV server distinguishable from the default HTTP
+ server both in the ZMI and in event.log.
+
+ - Included BTreeFolder2
+
+ Bugs fixed
+
+ - Collector #1507/1728: Server addresses are now handled the same way on
+ all platforms. This fixes the default binding on Windows.
+
+ - Collector #1781: made 'create_mount_points' ZConfig option actually
+ work (thanks to Dieter Maurer for the patch).
+
+ - Collector #1780: DateTime.strftime() now handles dates <= 1900 or
+ >= 2038
+
+ - Collector #1775: turning off debug mode by default
+
+ - Collector #1784: fixed handling of multiple attributes in ZCTextIndex
+
+ - Don't copy '.svn' directories from skeleton into an instance
+ (thanks to Dale Hirt for the patch).
+
+ - Collector #1776: Improved setup.py.
+ The Finder class is now used for the complete lib/python tree and has
+ a blacklist instead of a whitelist for file extensions. So there
+ should no longer be a need to update setup.py if modules or files are
+ added or removed in lib/python.
+
+ - Collector #1751: Improved error reporting reporting during the
+ startup phase
+
+ - Collector #1745: Fixed ZSQL error KeyError 'query'
+
+ - Collector #1735: fixed UnicodeDecodeError in Loader.py
+
+ Zope 2.8b1 (2005/04/24)
+
+ Features added
+
+ - Added lazy: TAL expression and fixed defer: expression for python
+ expression
+
+ - ZCatalog.CatalogBrains: An _unrestrictedGetObject method has
+ been added.
+
+ - ZODB transactions now support savepoints. See
+ transaction/savepoint.txt. These will replace
+ subtransactions.
+
+ Bugs fixed
+
+ - Collector #1754: Fixed import of 'transaction' in
+ 'zopectl adduser' (which wasy dying with a NameError).
+
+ - Collector #1750: StructuredText: fixed handling of image URLs
+ with query string
+
+ - Collector #1748: Fixed SIGSEGV in Acquisition
+
+ - Hotfix_20050405: classes defined in untrusted code could shadow
+ the roles of methods defined as protected by their bases.
+
+ - Collector #1656: Fixed enumeration within untrusted code
+ (forward-port from 2.7 branch).
+
+ - Collector #1721: Fixed handling of an empty indexed_attrs parameter
+
+
+ Zope 2.8a2 (2005/04/02)
+
+ Features added
+
+ - ZCatalog.CatalogBrains: 'getObject' now raises errors, rather than
+ returning None, in cases where the path points either to a nonexistent
+ object (in which case it raises NotFound) or to one which the user
+ cannot access (raising Unauthorized). Sites which rely on the old
+ behavior can restore setting a new zope.conf option,
+ 'catalog-getObject-raises', to "off".
+
+ This compatibility option will be removed in Zope 2.10.
+
+ - PluginIndexes: the ZCatalog's "Indexes" tab now show the number of
+ distinct values indexed by each index instead of a mixture of indexed
+ objects versus number of distinct values. Indexes derived from UnIndex
+ show both values within their own ZMI screen. In addition most indexes
+ have now a "Browse" tab to browse through the list of indexed
+ values and their occurrences.
+
+ - FTPServer: a RNFR (rename from) request is now being responded
+ with a 550 error code if the source file does not exist
+
+ - Fixed ObjectManager to not swallow exceptions during object
+ deletion (in debug mode and if the user is not Manager). This
+ allows for better debugging, while still keeping the possibility
+ for a Manager to delete buggy objects.
+
+ - Added a ZConfig directive 'large-file-threshold' to control
+ the request content-size threshold at which a temporary file
+ gets created. Use the same value for deciding between reading
+ the whole request in memory or just a chunk inside
+ webdav.NullResource.PUT().
+
+ - RAMCacheManager: Allow invalidation of a cache entry from the
+ Statistics view in the ZMI
+
+ - Collector #1454/OFS.File: Accept content types ending with
+ "javascript" as editable through the File edit form, just like
+ text/<foo> types
+
+ - Zope X3 3.0.0's 'src/zope' package is included now.
+
+ - Five (Zope 3 integration technology for Zope 2) is included
+ now in Products/Five.
+
+ Bugs fixed
+
+ - Collector #1460: guarded_apply was too restrictive.
+
+ - OFS.Traversable still used a string 'NotFound' exception.
+
+ - ZPublisher would fail to recognize a XML-RPC request if the
+ content-type header included a 'charset' parameter.
+
+ - Forward-ported 'aq_acquire'-related fix and associated tests
+ from Zope 2.7.4.
+
+ - Collector #1730: XML page templates couldn't call aq_parent in
+ path expressions.
+
+ - Fixed brain.getObject() to correctly traverse to an object even
+ if one of its parents is not accessible, to be close to what the
+ Publisher does.
+
+ - Forward ported fix for OFS.CopySupport tests which corrected
+ signature of a faux security policy's 'validate' method.
+
+ - 'setup.py' did not install the 'Zope' compatibility module
+ (the old 'Zope' package has been renamed to 'Zope2').
+
+ - Fixed Shared.DC.ZRDB.Results to behave with the new-style
+ ExtensionClass. Added a test.
+
+ - 'setup.py' did not install the new 'Zope' compatibility module
+ (the 'Zope' package has been renamedd to 'Zope2').
+
+ - Collector #1507: Zope now binds again to all available IP addresses if
+ ip-address is unset
+
+ - Use 'del' instead of 'list.remove()' in
+ Catalog.delColumn(). There can be only one column with the
+ same name, and it could potentially break catalog metadata as
+ remove() may remove more than one element from the list if
+ they have the same value. Also, we already have the list index
+ we are interested in deleting so it doesn't make sense to look
+ up the value and call 'list.remove()' on it.
+
+ - Collector #1628: FTP server has been broken (directory
+ listings did not work)
+
+ - Collector #1705: CopySource._postCopy is never called
+
+ - Collector #1617: Fixed crash in ZPT code (caused by improper
+ checks in cAccessControl)
+
+ - Collector #1683: fixing batching in the DA "Test" tab
+
+ - Collector #1648: Fix bug in Medusa FTP
+
+ - Collector #1667: allow 'max-number-of-session-objects 0' to have
+ the same effect as setting the value via the web interface (i.e.,
+ make the number of session objects unlimited, rather than falling
+ back to the default).
+
+ - Collector: #1651: removed compiler warning
+
+ - Collector #1661: make 'python-check-interval' setting in zope.conf
+ actually work as documented. This setting allows for important
+ tuning opportunities for production Zope servers.
+
+ - Collector #1657: Don't break host-based virtual hosting when
+ purging an HTTP accelerator.
+
+ - DTML Methods were not interoperable with the new filestream_iterator
+ and caches based on it (FileCacheManager).
+
+ - Collector #1655: fixed severe memory leak in TemporaryStorage
+
+ - Collector #1407: fixed XML escaping problem introduced in 2.7.4 b1
+
+ - Collector #1151: HTTP compression was broken on error pages
+
+ - The REQUEST now contains a new entry ACTUAL_URL which contains the
+ full URL without query string as it appears within the location bar of
+ the browser. The key has been added to provide a single key that is
+ available for vhosted and non-vhosted installations.
+
+ - Collector #1605: VHM did not quote URLs
+
+ - webdav.Resource: during COPY, manage_afterClone was called way
+ too early, thus the object wasn't bound to the database and
+ couldn't find a context. Changed to behave the same way as
+ CopySupport.
+
+ - RAMCacheManager: opimized performance by using cPickle instead
+ of pickle and by using the highest pickle protocol available
+ instead of using ASCII pickles (patch by Dieter Maurer)
+
+ - Collector #631: Image URLs in StructuredText containing port
+ numbers were not rendered correctly
+
+ - Collector #1498: Don't choke on malformed cookies. Cookies of
+ the form "foo=bar; hmm; baz=gee" will give an empty value for
+ 'hmm' instead of silently discarding it and the rest of the
+ string. (Thanks to 'sirilyan' for the patch.)
+
+ - bin/zopectl test now uses os.execv, instead os os.system,
+ so that options with characters that needs shell quoting
+ doesn't break the command.
+
+ - Collector #1219: Make XML export sane again.
+
+ - Collector #945: Allow adding empty PythonScript instances
+ programmatically.
+
+ - Updated doc/UNITTEST.txt and lib/python/Testing/README.txt to
+ reflect progress made since UNITTEST.txt was originally written.
+
+ - Removed Version objects from the add menu. Versions are agreed to be a
+ feature that should not be used as it is not well implemented and
+ allows for data loss.
+
+ - Collector #1510: Allow encoding of application/xhtml+xml pages
+ according to the charset specified in the Content-Type header
+ (thanks to Jacek Konieczny for the patch).
+
+ - Collector #1599: made sqltest work with unicode strings (thanks
+ to Peter Sabaini for the patch).
+
+ - zopectl: fixed handling of child processes (patch by Dieter Maurer)
+
+ - Collector #1593: fixed dumb _get_id() implementation in
+ OFS.CopySupport that produced copy_of_copy_of....files (thanks
+ to Alexandre Boeglin for the patch).
+
+ - Collector #1450: files in utilities/ZODBTools are now installed
+ during the installation process in the 'bin' directory
+
+ - Collector #1003: added new 'http-header-max-length' directive
+ to zope.conf to specific the maximum length of a HTTP request
+ header before it is considered as a possible DoS attack and
+ discarded.
+
+ - Collector #1371: added new 'cgi-maxlen' directive to zope.conf
+ to limit the amount of form data being processed by Zope
+ to prevent DoS attacks
+
+ - Collector #1407: changed WebDAV display name for objects
+ to title_or_id()
+
+ - the 'trusted-proxy' directive in zope.conf now also accepts
+ hostnames instead of IP addresses only (patch by Dieter Maurer)
+
+ - Fixed test.py to not over-resolve symbolic links. Needed to run
+ tests when the Products directory and a product are symlinks.
+
+ - Collector #1583/ZReST: Fixed handling of the title attribute
+ for non-ascii characters.
+
+ - Collector #1577: Fixed cryptic error message in ZPublisher if a
+ non-ASCII string is passed to a date, int, long or float property.
+
+ - Collector #1576: Fixed Z Search Interface to use proper HTML.
+
+ - Collector #1127: strftime did not take timezone into account.
+
+ - Collector #1569/DateTime: Added a new ISO8601-method that will
+ return correctly formatted ISO 8601-representations to augment
+ the ISO method which isn't compliant with ISO 8601.
+
+ - ZPublisher: changed some hardcoded 'latin1' arguments to 'iso-8859-15'
+ since latin1 is obsolete.
+
+ - Collector #1566: Installation of Zope on some older Solaris versions
+ could fail due to a broken "echo" implementation causing the
+ creation of a borked version.txt file.
+
+ - Collector #934: Image and File objects are now always internally
+ split into small chunks even when initialized from a string.
+
+ - docutils: updated to V 0.3.5. The Zope core now contains a full
+ copy of the docutils package except some GPLed files which can not
+ be included with the Zope distribution due to license constraints
+ on svn.zope.org.
+
+ - docutils: moved from lib/python/docutils to
+ lib/python/third_party/docutils
+
+ - Collector #1557/OFS.Image: Introducing new 'alt' property. The
+ 'alt' attribute is no longer taken from the 'title' property but
+ from the new 'alt' property. The border="0" attribute is no longer
+ part of the HTML output except specified otherwise.
+
+ - Set a default value of '' for the new 'alt' property as not to
+ break existing content.
+
+ - Collector #1511: made IPCServer show up in the Control Panel under
+ "Network Services"
+
+ - Collector #1443: Applied patch by Simon Eisenmann that reimplements
+ the XML parser used in WebDAV fixing a memory leak.
+
+ - Always unescape element contents on webdav.xmltools
+
+ - Use saxutils to escape/unescape values for/from
+ PROPFIND/PROPPATCH.
+
+ - Make OFS.PropertySheet use the escaping function from
+ webdav.xmltools.
+
+ - Escape/unescape " and '
+
+ - Don't escape properties stored as XML (ie: having a
+ __xml_attrs__ metadata set by PROPPATCH) when building a
+ PROPFIND response.
+
+ - If a PROPPATCH element value contains only a CDATA section,
+ store the CDATA contents only.
+
+ - Catch AttributeErrors and KeyErrors raised from
+ __bobo_traverse__ and convert them to NotFound. In debug mode
+ a more verbose error message is issued, the same way it's done
+ on attribute/item traversal.
+
+ - Collector #1523: replace the text field for importing .zexp/.xml
+ files with a selection list
+
+ - Stitch newly-created object into it's container *before*
+ calling it's PUT() method. This fixes an issue with
+ OFS.File/OFS.Image that would result into reading the whole
+ file in memory and wrapping it into a *single* Pdata object.
+
+ - Import ZServer.CONNECTION_LIMIT variable *inside* the method
+ that uses it. Before this, the variable was imported at the
+ module level, thus binding it too early which would cause the
+ ZConfig handler to have no real effect.
+
+ Zope 2.8a1 (2004/10/17)
+
+ Features added
+
+ - Included Stefan Holek's ZopeTestCase 0.9
+
+ - The SiteErrorLog allows you to acknowledge (or delete) exceptions,
+ so you can reduce or clear the list without restarting your
+ Zope server. Additionally the SiteErrorLog is covered by unit tests
+ now.
+
+ - Unit tests added for the SiteErrorLog.
+
+ - UI improvement for the ZCatalog. The "catalog contents" allow
+ you to filter the cataloged objects by path now.
+
+ - Made test.py follow symbolic links on POSIX systems.
+
+ - added utilities/reindex_catalog.py to perform ZCatalog maintenance
+ operations from the command line (through zopectl)
+
+ - RESPONSE.setBody and RESPONSE.setStatus now accept lock
+ parameters in the same way as RESPONSE.redirect. These prevent
+ further calls to the methods from overwriting the previous value.
+ This is useful when writing http proxies.
+
+ - DateTime: new DateTime instance can be constructed from a given
+ DateTime instance: d_new = DateTime(d_old)
+
+ - The DateTime parser now throws a SyntaxError upon any parsing errors.
+
+ - ZCatalog: added a new configuration option in the "Advanced" tab
+ to provide optional logging of the progress of long running
+ reindexing or recataloging operations.
+
+ - made Zope.configure return the starter instance to enable other
+ methods to be called, such as starter.setupConfiguredLoggers()
+
+ - Improved Unicode handling in Page Templates. Template contents
+ and title will now be saved as a Unicode string if
+ the management_page_charset variable can be acquired and is true.
+ The character set of an uploaded file can now be specified.
+
+ - zopectl now accepts the -m argument to set a umask for files created
+ by the managed process (e.g. -m 002 or --umask 002).
+
+ - AccessControl/permission_settings() now has a new optional parameter
+ 'permission' to retrieve the permission settings for a particular
+ permission.
+
+ - The obsolete 'SearchIndex' package has been removed
+
+ - Traversal now supports a "post traversal hook" that get's run
+ after traversal finished and the security context is established.
+
+ - Using "_usage" parameters in a ZCatalog query is deprecated and
+ logged as DeprecationWarning.
+
+ - MailHost now has two additional properties, a user id and a
+ password. These are used to attempt ESMTP authentication
+ before sending a mail.
+
+ - Folder listings in FTP now include "." as well as "..".
+
+ - When a VHM is activated, it adds the mapping
+ 'VIRTUAL_URL_PARTS': (SERVER_URL, BASEPATH1, virtual_url_path)
+ to the request's 'other' dictionary. If BASEPATH1 is empty, it
+ is omitted from the tuple. The joined parts are also added
+ under the key 'VIRTUAL_URL'. Since the parts are evaluated
+ before traversal continues, they will not reflect modifications
+ to the path during traversal or by the addition of a default
+ method such as 'index_html'.
+
+ - Extension Classes, a key Zope foundation, have been totally
+ rewritten based on Python new-style classes.
+
+ This change provides a number of advantages:
+
+ o Use of new-style class features (e.g. slots, descriptors,
+ etc.) in Zope objects. Support for object protocols (special
+ __ methods) added since Python 1.4.
+
+ o Support for cyclic garbage collection.
+
+ o Ability to use new-style classes as base classes of Zope objects.
+
+ o Pave the way for sharing code between Zope 2 and Zope 3.
+
+ Note -- Extension classes with __of__ methods are made into
+ Python read descriptors.
+
+ If an extension classes is used to implement a descriptor,
+ indirectly by implementing __of__ or directly by implementing
+ __get__, the behavior of the descriptor will differ from
+ ordinary descriptors in an important way. The descriptors
+ __get__ method will be called *even if* the descriptor is
+ stored on an instance of an extension class. Normally
+ descritor __get__ methods are called only of the descriptor
+ is stored in a class.
+
+ - ZODB 3.3
+
+ This is the first version of ZODB that does not require
+ ExtensionClass.
+
+ - Add 'parity' method to ZTUtils Iterators.
+
+ - Allow untrusted code to mutate ZPublisher record objects.
+
+ - Added a "mime-types" configuration value which names a file
+ giving additional MIME type to filename extension mappings.
+ The "mime-types" setting may be given more than once in the
+ configuration file; the files have the same format at the
+ mime.types file distributed with Apache.
+
+ - Changed the ZEO server and control process to work with a
+ single configuration file; this is now the default way to
+ configure these processes. (It's still possible to use
+ separate configuration files.) The ZEO configuration file can
+ now include a "runner" section used by the control process and
+ ignored by the ZEO server process itself. If present, the
+ control process can use the same configuration file.
+
+ - ZConfig was updated to version 2.0. The new version includes
+ two new ways to perform schema extension; of particular
+ interest in Zope is the ability for a configuration file to
+ "import" new schema components to allow 3rd-party components
+ (such as storages, databases, or logging handlers) to be used.
+
+ - The testrunner.py script has been replaced with test.py which
+ is now installed into the 'bin' folder.
+
+ Bugs fixed
+
+ - Removed Python 2.3.3 as valid option. ZODB 3.3 requires Python
+ 2.3.4 or later.
+
+ - Collector #1332: Added in-place migration of the Catalog.__len__
+ attribute to avoid new-style class caching problems. Instances of
+ ZCatalog or instances of classes with ZCatalog as base class will be
+ migrated automatically. Instances of Catalog or classes with Catalog
+ as base class must be migrated manually by calling the migrate__len__()
+ method on the every instance. In addition old BTree migration code
+ (for pre-Zope 2.5 instances) has been removed. If you want to migrate
+ from such an old version to Zope 2.8, you need to clear and reindex
+ your ZCatalog).
+
+ - Collector #1595: same as in Collector #1132 for indexes derived from
+ UnIndex. Exisiting ZCatalog instances must be converted manually
+ by calling the "manage_convertIndexes" method through-the-web for
+ every single ZCatalog instance. See also doc/FAQ.txt (Installation,
+ question #4)
+
+ - Collector #1457: ZCTextIndex's QueryError and ParseError
+ are now available for import from untrusted code.
+
+ - Collector #1473: zpasswd.py can now accept --username
+ without --password
+
+ - Collector #1491: talgettext.py did not create a proper header
+ for the generated .pot file if multiple pagetemplate files
+ were processed.
+
+ - Collector #1477: TaintedString.strip() now implements the
+ same signature as str.strip()
+
+ - TAL: tal:on-error does not trap ConflictError anymore.
+
+ - OFS.CopySupport: Enforced "Delete objects" permission during
+ move (CMF Collector #259).
+
+ - Removed DWIM'y attempt to filter acquired-but-not-aceessible
+ results from 'guarded_getattr'.
+
+ - Collector #1267: applied patch to fix segmentation faults on
+ x86_64 systems
+
+ - ZReST: the charset used in the rendered HTML was not set to the
+ corresponding output_encoding property of the ZReST instance. In
+ addition changing the encodings through the Properties tab did not
+ re-render the HTML.
+
+ - Collector #1234: an exception triple passed to LOG() was not
+ propagated properly to the logging module of Python
+
+ - Collector #1441: Removed headers introduced to make Microsoft
+ webfolders and office apps happy, since they make a lot of
+ standards-compliant things unhappy AND they trick MS Office
+ into trying to edit office files stored in Zope via WebDAV even
+ when the user isn't allowed to edit them and is only trying to
+ download them.
+
+ - Collector #1445: Fixed bad interaction between -p and -v(v)
+ options to test.py that resulted in exceptions being printed
+ when they shouldn't have been.
+
+ - Collector #729: manage_main doesn't display the correct page title
+ most of the time. It is not completely fixed but using title_or_id
+ makes folders display the correct id as a fallback.
+
+ - Collector #1370: Fixed html generated by Z Search interface.
+
+ - Collector #1295: Fixed minor niglet with the Elvis tutorial.
+
+ - added "version.txt" to setup.py to avoid untrue "unreleased version"
+ messages within the control panel
+
+ - Collector #1436: applied patch to fix a memory leak in
+ cAccessControl.
+
+ - Collector #1431: fixed NetBSD support in initgroups.c
+
+ - Collector #1406: fixed segmentation fault by acquisition
+
+ - Collector #1392: ExternalMethod ignored management_page_charset
+
+ - unrestrictedTraverse() refactored to remove hasattr calls (which mask
+ conflict errors) and for greater readability and maintainability.
+
+ - Zope can now be embedded in C/C++ without exceptions being raised
+ in zdoptions.
+
+ - Collector #1213: Fixed wrong labels of cache parameters
+
+ - Collector #1265: Fixed handling of orphans in ZTUtil.Batch
+
+ - Collector #1293: missing 'address' parameters within one of the server
+ sections raise an exception.
+
+ - Collector #1345: AcceleratedHTTPCacheManager now sends the
+ Last-Modified header.
+
+ - Collector #1126: ZPublisher.Converters.field2lines now using
+ splitlines() instead of split('\n').
+
+ - Collector #1322: fixed HTML quoting problem with ZSQL methods
+ in DA.py
+
+ - Collector #1124: The ZReST product now uses the same reST encoding
+ parameters from zope.conf as the low-level reStructuredText
+ implementation.
+
+ - Collector #1259: removed the "uninstall" target from the Makefile
+ since the uninstall routine could also remove non-Zope files. Because
+ this was to dangerous it has been removed completely.
+
+ - Collector #1299: Fixed bug in sequence.sort()
+
+ - Collector #1159: Added test for __MACH__ to initgroups.c so the
+ initgroups method becomes available on Mac OS X.
+
+ - Collector #1004: text,token properties were missing in
+ PropertyManager management page.
+
+ - Display index name on error message when index can't be used as
+ 'sort_on'.
+
+ - PUT would fail if the created object had a __len__ = 0 (eg:
+ BTreeFolder2) and fallback to _default_put_factory. Fix by
+ checking if the returned object is None instead.
+
+ - Collector #1160: HTTPResponse.expireCookie() potentially didn't
+ when an 'expires' keyword argument was passed.
+
+ - Collector #1289: Allow ZSQL methods to be edited via WebDAV.
+
+ - WebDAV property values were not being properly escaped on
+ 'propstat'.
+
+ - WebDAV 'supportedlock' was not checking if the object did
+ implement the WriteLockInterface before returning it's
+ value.
+
+ - reStructuredText ignored the encoding settings in zope.conf
+
+ - ObjectManager no longer raises string exceptions
+
+ - Collector #1260: Testing/__init__.py no longer changes the
+ INSTANCE_HOME.
+
+ - App.config.setConfiguration() did not update the legacy source
+ for debug_mode, Globals.DevelopmentMode.
+
+ - Script (Python) objects now have a _filepath attribute, also
+ used as the '__file__' global at runtime. This prevents an
+ import problem caused by the fix to #1074.
+
+ - Minor usability tweaks:
+
+ * Increased FindSupport meta type selection widgets
+ height to 8 lines
+
+ - The DateTime module did not recognize the settings for
+ "datetime-format".
+
+ - Stop testrunner.py from recursing into the 'build-base' directory
+ created by setup.py.
+
+ - Collector #1074: Change Scripts' __name__ to None
+
+ - Range searches with KeywordIndexes did not work with record-style
+ query parameters
+
+ - Item_w__name__ now has a working getId() method
+
+ - PageTemplateFile now using Item_w__name__ mixin, fixing
+ its getId() and absolute_url() methods.
+
+ - Only one VirtualHostMonster is allowed per container.
+
+ - Collector #1133: TreeTag choked on Ids of type long.
+
+ - Collector #1012: A carefully crafted compressed tree state
+ could violate size limit. Limit is no longer hardcoded.
+
+ - Collector #1139: tal:attributes didn't escape double quotes.
+
+ - Management interface of TopicIndexes has been completely broken
+
+ - Collector #1129: Improper parsing of ISO8601 in DateTime.
+
+ - Removed pervasive use of string exceptions (some may still be
+ hiding in the woodwork, but all raise's with string literals are
+ gone).
+
+ - AccessControl.User used a misleading string exeception,
+ 'NotImplemented', which shadowed the Python builtin.
+
+ - Collector #426: Inconsistent, undocumented error() method.
+
+ - Collector #799: Eliminate improper uses of SCRIPT_NAME.
+
+ - Collector #445: Add internal global declaration for Script bindings.
+
+ - Collector #616: Make CONTEXTS available to TALES Python expressions.
+
+ - Collector #1074: Give Script execution context a __name__
+
+ - Collector #1095: Allow TAL paths starting with '/varname' as a
+ preferred spelling for 'CONTEXTS/varname'.
+
+ - Collector #391: Cut and paste now requires delete permissions.
+
+ - Collector #331: Referenses to URL in manage_tabs was changed
+ to REQUEST.URL to prevent accidental overriding.
+
+ - Made the control panel properly reflect the cache-size setting
+ of ZODB's object cache once again.
+
+ - ConflictError was swallowed in ObjectManager by
+ manage_beforeDelete and _delObject. This could break code
+ expecting to do cleanups before deletion.
+
+ - Python 2.3 BooleanType wasn't handled properly by ZTUtils
+ marshalling and ZPublisher's converters.
+
+ - Collector #1065: bin/ scripts didn't export HOME envars.
+
+ - Collector #572: WebDAV GET protected by 'FTP Access' permission.
+ Two new methods have been added to WebDAV resources, "manage_DAVget"
+ and "listDAVObjects". These are now used by WebDAV instead of the
+ earlier "manage_FTPget" and "objectValues". This separates the
+ permissions, and allows WebDAV specific overriding of these methods.
+
+ - Collector #904: Platform specific signals in zdaemon/Daemon.py
+ (fixed by removing the "fossil" module from 2.7 branch and head).
+
+ - Workaround for Collector #1081: The 'title' property for objects
+ derived from OFS.Folder or PropertyManager can now be
+ removed and replaced with a ustring property. This allows the usage
+ of non-ISO-8859-1 or ASCII charsets
+
+ - Collector #951: DateTime(None) is now equal to DateTime()
+
+ - Collector #1056: aq_acquire() ignored the default argument
+
+ - Collector #1087: ZPT: "repeat/item/length" did not work as documented
+ in the Zope Book.
+
+ - Collector #721: Entities in tal:attribute values weren't
+ properly escaped.
+
+ - Collector #851: Traversable.py: A bare try..except shadowed
+ conflict errors
+
+ - Collector #1058: Several fixes for PropertySheets when used
+ outside ZClasses
+
+ - Collector #1053: parseIndexRequest turned empty sequence of search
+ terms into unrestricted search.
+
+ - manage_tabs had a namespace problem with the acquisition of names from
+ the manage_options variable resulting to acquire "target" and "action"
+ from objects above in the hierachy.
+
+ - PathIndex and TopicIndex are now using a counter for the number
+ of indexed objects instead of using a very expensive calculation
+ based on the keys of their indexes.
+
+ - Collector #1039: Whitespace problem in Z2.log fixed
+
+ - changed some bare try: except:'s in Shared.DC.ZRDB.Connection
+ so that they now log exceptions that occur.
+
+ - ObjectManager will now attempt to set Owner local role keyed
+ to the user's id, rather than username.
+
More information about the Zope-Checkins
mailing list