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.0 beta 4 Bugs Fixed - The History tab is now protected by the 'Undo changes' permission, and setting this permission actually has effect now. - A bug in validation in filtered_manage_tabs made tabs misbehave in some cases. - Fix an AttributeError bug in the Lexicon objects used by ZCatalog. - FileUpload objects did not have the required security assertion to allow access to attributes such as filename and headers. - Broken objects weren't deletable due to a recent change in the object deletion logic added to support mountable databases. - Some formatting bugs in the status method of the ZServer HTTP server were fixed (thanks to Jeff Rush). - The _read_data method of Image and File objects didn't correctly handle being passed an actual file object. - A new behavior in 2.2 is that after calling REQUEST.redirect the HTTP status can no longer be changed. This caused problems for some people who were calling redirect() and then trying to set the HTTP status to 301 Moved Permanantly instead of the default 302 Moved Temporarily status. To make this possible, a new optional 'status' argument is now recognized by the redirect method so that RESPONSE.redirect('/foo', status=301) can be used - Corrected the text of some kinds of 'unauthorized' error messages. - Fixed a bug that caused dtml-try to throw a KeyError. Related to the recent changes made to DT_Util.namespace(). - Packing to a time earlier that a previous pack could lead to serious data lossage. - Attempts to install product information into the Zope database on startup made no sense and could cause problems for ZEO clients. Product adtabase updates are suppressed when the ZEO_CLIENT environment variable is set. - A missing security assertion made DTML code that tried to create instances using manage_addProduct['foo'] constructs fail. - Fixed a couple typos in the Tutorial thanks to Alastair Burt. - Fixed a Javascript error in the Tutorial thanks to Luke Tymowski. - Revised online help content quite a bit. - Revised API docs quite a bit. - Fixed a bug in Logging docs thanks to Andy McKay. - Added code that will reveal bugs in calls to DT_Util.namespace(). - The way that the values of selection and multiple selection properties were looked up on the properties form was changed so that the values can now be either properties on the same object or found through the DTML '_' namespace to support situations where the selection value is acquired or otherwise not findable in the object's properties. - The If-Modified-Since handling in Image and File objects did not gracefully handle malformed date strings in that header (which seem to be sent by certain proxy servers). Malformed date strings are now ignored as if the header was not present rather than raising an error. - Corrected a recent problem with boolean properties. - Permissions were not being set properly on factory methods (constructors) loaded from Python (disk) products. This bug existed in 2.1, but was not very visible until recent fixes were made to the security machinery. - The ownership management code incorrectly was willing to delete ownership information in the class rather than only in object instances. - A bug that made packing always complain that you were trying to pack to an earlier time than a previous pack was fixed. - The security context stack wasn't handled correctly for DTMLDocuments. - DateTime objects did not support GMT(+/-)xx30 timezones.