Zope changes This file contains change information for the current Zope release. Change information for previous versions of Zope can be found in the file HISTORY.txt. Zope 2.2.1 beta 1 Bugs Fixed - FileStorage-based databases became corrupted when their size grew beyond 2GB. - FileStorage-based databases could be corrupted if transaction descriptions or transaction extended meta-data exceeded 64KB in size. - Some relational database adapters use an older version of a results class in Shared.DC.ZRDB. The RDB-format based results class was missing a needed security assertion to allow access to result data. - Missing security assertions in the ZDOM module caused unauthorized errors for things trying to use ZDOM (such as XMLDocument). - A bug in the registration of help content caused unnecessary transactions to be written at startup. - The machinery for guessing content types ignored default values passed in explicitly. - A problem in the Find machinery removed the acquisition context from subobjects, causing permission checking to fail. - There was a hard-coded unix path separator in the logic for initializing special dtml objects from files. - The ordering of tabs on some management screens was changed inadvertantly during the 2.2 development cycle. The ordering has been tweaked to conform more closely to earlier releases. - The strftime() method of DateTime objects was changed so that it formats based on the current timezone representation of a given DateTime object. This is now also the case when formatting DateTimes from DTML using the fmt="..." construct (which uses the strftime method under the hood). Previously, strftime converted to GMT, which was inconsistent with other formatting methods and caused problems for people. Those who actually do want the date to be formatted in GMT can use: myDate.toZone('GMT') to get a version of the object represented in GMT and then call the formatting methods on that object. - Permissions were not properly defined for the new history vew in DTMLMethods and DTMLDocuments. This caused many useful features to be available only to managers and others to be available only to those with undo priveledges. A new permission, "View History" has been added for viewing historical changes and you can copy historical versions to the present if yo can edit DTMLDocuments or DTMLMethods. - The new traversal method, restrictedTraverse was private, but should have been public. It also didn't check access to the root object when an absolute path was used. - The roles (and only the roles) "Manager" and "Anonymous" had the "Access contents information" permission on the root application object regardless of permission settings made through the management interface. - A ZCatalog bug which was symptomized by a "KeyError" during a searchResults query was squished by changing some exception handling in the cataloging machinery. - Version's chose their names based on absolute_url, which depends on access method, rather than physical path. - A fix for socket.connect() calls in preparation for Python 2.0 was accidentally applied to a wrong part of Client.py in ZPublisher. - The "distribution" tab for ZClass-based products has been changed to allow creation of redistributable products. - DAV property sheets were not correctly associated with permissions, which cause Unauthorized errors when iterating over propertysheets under the new security model. - Some patches to PCGI added in the 2.2 development cycle to support things like syslog connectivity were backed out due to problems on certain platforms. The patches may make it back in the future after the issues are resolved and broader platform testing can be done. - The new security machinery did not allow REQUEST to be accessed when it was acquired. This didn't prevent access to REQUEST, but made the access eccessively expensive. - Fixed the display order of the Zope tutorial topics. - Fixed the help system menu frame to not use standard html header and footer. - Products that have not been updated to define an 'initialize' method to do product initialization were not filtered correctly by permission in the filtered object add list. - Exception logging was added to catalog to catch "shouldnt happen" sorts of events. - Text indexes did not recognize boolean connectives (and, not) if they were mixed-case. - Fixed Tutorial bug that caused win98 to crash with adding a tutorial. - Fixed ZService.py to avoid overwriting existing service start parameters at install time on win32. - The deprecated alias getSize() was added back to Image and DTML objects (existing products still depend on it). - Cleaned up a DocumentTemplate namespace issue. Fixed QuickStart. - Removed old validation code in cDocumentTemplate. - In ZCatalog, it was possible for stemming on single-word search queries to be handled incorrectly and produce no results. - A problem in the url traversal machinery caused strange errors in cases where the root of the site was requested but had no index_html instead of the expected Not Found error. - ZCatalog objects did not implement the searchable object interface correctly. - XML (database) import sometimes failed, especially with ZClass instances. - XML (database) export didn't properly handle strings that contained the string "\n". - The <base> tag insertion machinery failed if the request result had content-type with a charset attribute (thanks to Dieter Maurer). - A long-standing bug that caused a "resource not found" error when trying to instantiate a ZClass inside of another ZClass was fixed. Hooray for Chris McDonough :^) - In certain circumstances it was possible for the manage_afterAdd and other manage_after* methods to get into an infinite loop by essentially acquiring themselves in cases where subobjects did not implement those protocols. - The sqlvar tag produced misleading error messages when an expression caused an exception during rendering. - RFC1123 dates were not formatted correctly in the webdav.client implementation. - Made the ObjectManager class inherit from Traversable (which exposes unrestrictedTraverse). ObjectManager-type items which didn't inherit from SimpleItem.Item had problems with Management.Tabs producing the right views for manage_options before this was in there. - FileStorage-based databases got into an unusable state if available disk space was exceeded. This problem could lead to database corruption.