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. - Collector #343: The ZCatalogs 'Indexes' view showed the wrong number of indexed objects for FieldIndexes. Zope 2.4.4 Bugs Fixed - Fix for Collector #319: filtered_manage_options didn't correctly filter tabs based on permission. - Collector #275: ClassSecurityInfo.setPermissionDefault broken - Collector #236: recursive ownership changes could be short-circuited prematurely if a user already owned a subobject. - Collector #254, make the getOwner call return the owner object wrapped in its context - Collector #278: DocumentWithImages could not handle URLs with underscores - Collector #185, 341: PCGIServer and FCGIServer logs corrected and now output extended information like HTTPServer does. Zope 2.4.4 beta 1 Bugs Fixed - Backported a fix to SetOpTemplate.c in BTree modules where Py_None could be returned without being INCREF (Thanks to Steve Alexander) - Backported an asyncore fix for an issue that could cause ZServer to hang on Linux 2.2 systems. - Incorrect handling of EINTR in asyncore caused server problems, especially for those using database connections. The asyncore fixes for Zope 2.5 have been backported to resolve this. - GlobbingLexicon always used the ZopeSplitter instead of a user-selected splitter - WebDAV: The long outstanding read-only problem with WinWord and .html is finally solved. Zope sends now an additional ETag header for DTMLMethods and DTMLDocuments. Many thanks to Joachim Schmitz for this hint. - PathIndex: complete rewrite of backward indexes, major bugfixes, enhanced testsuite - DTML-MIME tag: creates now a 'Mime-Version: 1.0' to make some fussy email programs happy - HTTP Range support: Don't join adjacent ranges; The Acrobat PDF viewer makes extesive use of adjacent ranges and fails if the resulting response gives only one big range result. - Fix HTTP Ranges for Netscape as well; version 4 and before, as well as MSIE 3, implement a draft version of the HTTP Ranges spec and require a different MIME-type response. This fixes Acrobat PDF downloads on these clients. - FTP: Downloading files through FTP has been broken since 2.4.0 because the downloaded file has been stored with a HTTP header at the beginning of the file. Fixed! Zope 2.4.3 Bugs Fixed - Products.PluginIndexes.common.UnIndex: fixed unintended use of range built-in (backport from head). - STXNG: fixed syntax error in handling inner links - Removed C++ style comments inside Splitter sources that broken compilation on AIX systems. - did not work properly under some acquisition related reaons. Zope 2.4.3 beta 1 Bugs Fixed - 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) - Add 'WEBDAV_SOURCE_PORT' marker key to REQUEST.env for requests passing through a WebDAV source port (eases detection).