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. - WebDAV: Zope escaped nested object properties derived from internal dav__* functions in PropertySheets.py although they are considered to be safe and do not need any escaping. This caused Zope to be completely incomplete with Windows XP. Fixed ! - WebDAV: '(' and ')' are now allowed in Ids for Zope objects. This is needed when one tries to duplicate files using cut&paste through Microsoft webfolders. - Adding new indexes to the ZCatalog using the ZMI did not work properly with disabled Javascript. - STXNG: fixed wrong conversion of literals starting and ending with underlines. Also added complete reworked testsuite - Zope installation updated from pre-2.4 installation did not show the WebDAV LockManager entry in the Control Panel. - Corrected case where the accelerated security in DTMLMethod could be removed twice, causing a KeyError (successive removals do not complain). Steve Alexander provided a better patch, now incorporated. - Fixed a BTree storage leak. Zope 2.4.2 - repaired unit tests for documenttemplate, datetime, and zcatalog; removed a glitch in one test which was causing spurious failures in others. all unit tests pass! - Zope Find did not find objects located within ZClass objects. Thanks to Anthony Baxter for fixing this. - The xml escaping logic for DAV properties failed to escape special xml characters in certain cases. The xml generation of properties for PROPFIND requests also failed for properties of type 'tokens' that contained non-string items. - Lock-null resources did not support the PROPFIND DAV command per RFC 2518, which caused some clients (Dreamweaver for one) to be unable to create new objects via WebDAV. Thanks to Terry Kerr for working this out. - "Not Found" errors due to missing docstrings on objects made it difficult to figure out the true cause of the error. The handling of missing docstrings has been changed so that the reason for the "Not Found" is clear whether or not the server is running in debug mode. - DebugLogger, the machinery which writes messages for "detailed" (aka "Big M") log files now writes out a "U" message on system startup. - queries for the PathIndex can now specified as tuple (path,level). the level parameter inside a query overrides the optional 'level' parameter for a complete search request. - XXBucket.values() returned the keys instead of the values. - Collector #420, 1326, 2509, and maybe others: manage_workspace redirected to index_html when no authentication credentials were presented by the user. Thanks to < Dominique.Dutoit at cec.eu.int > for the correction. - Collector #2548: ComputedAttribute extension was not included in setup.py. - Fixed dtml-in online help documentation to include information about sort_exp and reverse_expr attributes. - Fixed dtml-sqlvar, dtml-sqltest, and dtml-sqlgroup online help documentation to better explain the difference between "nb" and "string". - Re-applied Medusa patch to allow proxy-like HTTP requests (GET http://hostname:port/ HTTP/1.0) - Locale support in STXNG has been broken (since 2.4.0). - Corrected aq_inContextOf(). The former code returned the incorrect result if the context object was the root of the hierarchy, a condition which normally does not occur in Zope, but can occur in scripts. - Fixed bad interaction between ZCatalog and dtml-in (submitted by Steve Alexander) - Fixed bug in ZODB conflict resolution code where attempts to resolve conflicts in ZClasses generated inapprorpriate errors. (ChrisM, thanks to Lance Carito for finding). - Fixed the ZMI for viewing legacy ZCatalogs that still use SearchIndex indexes. (stevea) - Cleaned up ZCatalog API to make it more internally consistent, added some missing permissions, and left in deprecated methods for compatibility with the pre-clean-up API. You can now pass a string or a sequence of strings to methods such as manage_delColumn and manage_clearIndex. (stevea) - Multiple links in a paragraph with mixed link notation (quotation+colon+URL or quotation+comma+whitespace+URL) did not work properly (thanks to Alastair Burt for reporting and submitting the patch). - Added updated and enhanced testsuite for STXNG. - Fixed typo in medusa/logger.py, where mktime was getting nine arguments, where it expected a nine-tuple. Thanks to Terry Kerr for the patch. (stevea) Zope 2.4.1 Bugs fixed - The ZPL has been updated to version 1.1. The changes are: - Appearances of "Digital Creations" changed to "Zope Corporation" - Open Source(tm) changed to just open source - The request for attribution clause has been dropped - Version number bumped to 1.1 - Collector # 2554: Version variables were not html quoted on ZMI manage_tabs. - Collector #2536. Fixed requestprofiler false output problem whereby requestprofiler could mistakenly ignore requests that had the same id in long logs. Thanks to Dyon Balding! - Collector #2523: Returning a tuple from __bobo_traverse__ was broken. - Collector #2532: ZCatalog.availableSplitters is now protected by security mechanism. Zope 2.4.1 beta 1 Bugs fixed - Collector #2412: a read-only FileStorage has not been closed properly. - Collector #2438: Using a slice operation like [30:] on a ZCatalog search result caused a MemoryError because the __getslice__ implementation used range() instead of xrange(). - Collector #2423: Searching a FieldIndexes for documents with a blank string has been broken. - Collector #2347: there was no interface for incrementally refreshing a ZCatalog. - Collector #2336: Quoting and globbing in non-trivial queries were broken. All tests now pass. - Collector #2427, 2429: Tests for keys() was missing. Incorporated Chris Withers' fix. - WebDAV Lockmanager was not working due to a Python 2.1 incompatibility. - Collector #2482: A COPY operation through WebDAV on a locked resource left the destination resource in a locked state so any WebDAV client was unable to unlock the destination object. Locks are now cleared from the destination object. - Collector #2481: adjusted punctuation for link generation (not working with ! inside quoted text) - Error message AttributeError/_v_blocks when a DTMLfile is not present or could not be read replaced by a more informative message. - Simplified the way product refresh happens. Instead of using the reload() function, we just remove the appropriate modules from sys.modules. This ensures that modules are loaded in the correct order. - Fixes to Splitter interfaces to work correctly under MacOSX - Collector #2497: SERVER_PROTOCOL variable is now compliant with the CGI specification and looks like "HTTP/1.1" instead of "1.1" - Creation of a TextIndex ignored the vocabulary setting. - Fixed broken aquisition of vocabularies from a Catalog by a TextIndex. - Collector #2504: level parameter has not been passed to HTMLClass constructor - default for 'orphan' attribute of is now 0 instead 3. - Skip attempting to register APIHelp for files beginning with '_' (e.g., '__init__.py'). Allows HelpSys to build help from a "real" Python package. - Fixed conflict resolution problem in BTrees (BTreeTemplace/ _p_resolveConflict) - Fixed conflict resolution problem in BTrees (BTreeTemplace/ _p_resolveConflict) - Add 'WEBDAV_SOURCE_PORT' marker key to REQUEST.env for requests passing through a WebDAV source port (eases detection).