[Zope-Checkins] CVS: Zope/doc - CHANGES.txt:1.535.2.57
seb
seb@jamkit.com
Thu, 28 Nov 2002 09:35:28 -0500
Update of /cvs-repository/Zope/doc
In directory cvs.zope.org:/tmp/cvs-serv18628/doc
Modified Files:
Tag: Zope-2_6-branch
CHANGES.txt
Log Message:
- undo silly mistakes (DateTime regression; messing up CHANGES.txt)
=== Zope/doc/CHANGES.txt 1.535.2.56 => 1.535.2.57 ===
--- Zope/doc/CHANGES.txt:1.535.2.56 Thu Nov 28 08:03:11 2002
+++ Zope/doc/CHANGES.txt Thu Nov 28 09:35:27 2002
@@ -4,64 +4,124 @@
Change information for previous versions of Zope can be found in the
file HISTORY.txt.
- Zope 2.7.0 alpha 1
+ Zope 2.6.1 beta 1
+
+ Bugs Fixed
+
+ - Deadlock prevention code added.
+
+ It was possible for earlier versions of ZODB to deadlock when
+ using multiple storages. If multiple transactions committed
+ concurrently and both transactions involved two or more shared
+ storages, deadlock was possible. This problem has been fixed
+ by introducing a sortKey() method to the transaction and
+ storage APIs that is used to define an ordering on transaction
+ participants. This solution will prevent deadlocks provided
+ that all transaction participants that use locks define a
+ valid sortKey() method. A warning is raised if a participant
+ does not define sortKey(). For backwards compatibility,
+ BaseStorage provides a sortKey() that uses __name__.
+
+ - Fixed bug in FileStorage related to object uncreation. An
+ attempt to load an uncreated object now raises KeyError.
+
+ - Fixed a couple bugs in FileStorage recover() that wrote
+ incorrect backpointers.
+
+ - Fixed data_txn attribute of iterator data records to use
+ the transaction id of the previous transaction, even if it
+ also has a data_txn field.
+
+ - Fixed conflict resolution bug that raised a NameError when a
+ class involved in a conflict could not be loaded.
+
+ - Fixed C extensions that included standard header files before
+ Python.h, which is not allowed.
+
+ - Added code to ThreadedAsync/LoopCallback.py to work around a
+ bug in asyncore.py: a handled signal can cause unwanted reads
+ to happen.
- Features Added
+ - Collector #651: WebDAV Lock Manager was broken.
- - The zLOG package is now backed by Vinay Sajip's "PEP 282" logger
- which has been included in lib/python/logging. As a result,
- the ZLogger package was removed (as its only real duty was to
- handle syslog-based logging).
-
- - Zope's shutdown process is now more careful and clean. It
- avoids sending half-complete responses to clients, particularly
- when running in a cluster using ICP.
- http://dev.zope.org/Wikis/DevSite/Proposals/CleanShutdown
-
- - ZTUtils.Iterator now handles any object that has a Python
- iterator, resolving Collector #385 and #577. The
- implementation is somwhat simpler, as well.
+ - Collector #646: metal:slot was lost during the I18n merge.
- - ZTUtils.Tree.TreeMaker now has additional methods for setting
- various flags and attributes that influence how the tree is built,
- making these aspects accessible to PythonScripts.
+ - Collector #640: Fix security assertion on ZCTextIndex query method.
- - ZTUtils.Tree.TreeMaker has a new method setStateFunction, which
- allows you to set a callback function that can influence the state
- (open, closed, leaf) of each node in the tree.
+ - Delayed opening the ZODB until after the "Zope" module has
+ been imported, fixing a deadlock issue involving ZEO. The
+ "Zope" module now has a "startup()" function.
- - Pidfile handling improved. When Zope is started under
- zdaemon, it no longer writes its own pidfile. Instead, it
- passes in the path to Z2.pid to zdaemon as its pidfile name.
- The 'zProcessManager.pid' file is no longer ever written.
- This caused a change to the -Z option of z2.py which should be
- mostly backwards-compatible (unless people were relying on
- zProcessManager.pid to be written). Now the -Z option is a
- boolean. -Z1 means use a daemon. -Z0 means dont. The
- default is -Z1.
+ - Fixed a NameError in the recent change to DateTime.rfc822().
- - Collector #670: applied patch from Dieter Maurer to enhance
- the Zope profiling support
+ - Made DateTime.rfc822() simpler and independent of local timezone.
- Bugs Fixed
+ - Fixed bug in Transience reported by kedai which caused spurious
+ KeyErrors under heavy sessioning usage.
- - Collector #703: KeyErrors raised when unindexing a PathIndex should
- be swallowed and logged.
+ - Fixed bug in the Interface Verify package; base interfaces were not
+ included in an interface compliancy test.
+
+ - Collector #650: Fixed implicit list marshalling for lists where the
+ first two values are tainted.
+
+ - Collector #671: HTTP Ranges were broken for files and images whose
+ length wasn't exactly divisible by 2**16.
+
+ - ModuleSecurityInfo declarations could be lost if further declarations
+ were made after the Info object already had been applied. Such
+ additional declarations could take place in Python trusted code run
+ after Zope strartup or during a Product refresh.
- Collector #699: MailHosts created in 2.5 breaks in 2.6.
- Collector #694: dtml-sendmail mailto specification replaces "To:" header.
- - Collector #651: WebDAV Lock Manager was broken.
+ - Collector #703: KeyErrors raised when unindexing a PathIndex should
+ be swallowed and logged.
- - Collector #646: metal:slot was lost during the I18n merge.
+ Zope 2.6.0
+
+ Bugs Fixed
+
+ - Caused many places throughout the code base to use
+ calls to user.getId() rather than user.getUserName(). With
+ most (all?) user folder implementations today, this will have
+ no behavioral change, as getId is always alised to getUserName.
+ However, this makes it possible to write user folder
+ implementations which make the distinction between the user's
+ id and the user's name. These user folders will allow users
+ to change names independent of their identity.
+
+ - WebDAV Lock Manager actually gives the user a chance to
+ specify a starting path **before** searching for locks,
+ shortening query times and memory usage in large Zope
+ instances.
+
+ - PageTemplateFiles were previously owned by whatever object
+ contained them. This resulted in very hard bugs if the user who
+ owned the container was removed. Since PageTemplateFiles come
+ from the filesystem, they are now "unowned", similar to
+ DTMLFiles. Security is still applied, but now it is applied
+ correctly.
+
+ - Collector #411: DateTime.rfc822 is not rfc822 compliant
- - Removed the signal handler hung off USR1 for packing the database.
+ Zope 2.6.0 beta 2
+
+
+ Bugs Fixed
+
+ - The ability to add multiple select properties to
+ PropertyManagers was broken (issue 612).
+
+ - Removed the signal handler hung off USR1 for packing the database.
This feature proved dangerous as the pack operation would happen in
- the main thread, causing all asyncore operations to stop until it
+ the main thread, causing all asyncore operations to stop until it
was finished.
- Collector #372: tal:attributes failed when combined with tal:replace.
+
- Don't try to close network connections in the signal handler
for shutdown. This hosed ZEO clients.
@@ -74,12 +134,9 @@
signal.
- Write pidfiles out with trailing newlines.
-
- Zope 2.6.0 beta 1
- Bugs Fixed
-
- - Collector #449: PathIndex did not index the last part of path.
+ - Fix setVirtualRoot in the face of unicode paths (such as occur
+ during an XML-RPC request.
- Collector #539: Fixed rendering of TAL namespace tags with an
'on-error' statement.
@@ -87,21 +144,78 @@
- Collector #586: Generated 'start' scripts had a nonsensical
export of an "INST_HOME" environment variable.
+ - Collector #580: TALES evaluateBoolean() was squishing 'default'.
+
+ - Collector #581: TALES Path traversal should not special-case a blank
+ string in the second element position. It now skips directly
+ to item access when a path element is blank or has a leading '_'.
+
+ - Fixed inconsistent attribute access in TALES Paths.
+
+ - Deprecated hasRole alias failed to return result.
+
- Collector #538: Hybrid path expressions no longer attempt to call
a value returned by the final, non-path alternate.
- Collector #573: ZTUtils Iterator didn't catch AttributeError.
- - Deprecated hasRole alias in User.py failed to return result.
+ - Collector #517: The properties page incorrectly rendered properties
+ with non-latin1 values if there were no unicode properties defined,
+ and incorrectly processed properties with non-ascii names.
+
+ - ZTUtils.SimpleTree could not build a tree with a root other than the
+ ZODB root object. Also, filter functions didn't work at all, let
+ alone in accordance with the documentation in the code.
+
+ - Collector #603: ZTUtils.Tree.encodeExpansion encoded depth with '.'
+ characters, but decodeExpansion could possibly see an encoded node
+ id as an encoded depth when that encoded id started with a '.'.
+
+ - Collector #605: ZTUtils.Tree.decodeExpansion set no limits on the
+ string to be decoded, allowing for a DoS attack with very large
+ strings.
+
+ - The fix for issue #144 broke the ability to create an empty Image or
+ File object. This functionality is now reenabled again.
+
+ - ZTUtils.Zope.TreeSkipMixin allows you to skip unauthorized objects in
+ the tree, but the filter wasn't applied when trying to filter candidate
+ child nodes through a custom setChildAccess filter.
- - Collector #580: TALES evaluateBoolean() was squishing 'default'.
+ - Emails sent through MailHost now automatically include a Date header if
+ not already present, in compliance with RFC822 and RFC2822.
+
+ Features Added
- - Collector #581: TALES Path traversal should not special-case a blank
- string in the second element position. It now skips directly
- to item access when a path element is blank or has a leading '_'.
+ - Add optional 'relative' argument to getURL the method in CatalogBrains.
+ This allows it to generate site relative URLs like absolute_url can.
- - Fixed inconsistent attribute access in TALES Paths.
+ - ZTUtils.Tree.encodeExpansion now will use zlib compression by default,
+ allowing for a far larger number of open tree states to be encoded.
+ decodeExpansion handles compressed expansion states automatically.
+
+ - ZTUtils.Tree.TreeMaker now has additional methods for setting
+ various flags and attributes that influence how the tree is built,
+ making these aspects accessible to PythonScripts.
+ - ZTUtils.Tree.TreeMaker has a new method setStateFunction, which
+ allows you to set a callback function that can influence the state
+ (open, closed, leaf) of each node in the tree.
+
+ - Pidfile handling improved. When Zope is started under
+ zdaemon, it no longer writes its own pidfile. Instead, it
+ passes in the path to Z2.pid to zdaemon as its pidfile name.
+ The 'zProcessManager.pid' file is no longer ever written.
+ This caused a change to the -Z option of z2.py which should be
+ mostly backwards-compatible (unless people were relying on
+ zProcessManager.pid to be written). Now the -Z option is a
+ boolean. -Z1 means use a daemon. -Z0 means dont. The
+ default is -Z1.
+
+ Zope 2.6.0 beta 1
+
+ Bugs Fixed
+
- Collector #587: fixed wrong migration to string methods in
DTMLMethod.py
@@ -114,8 +228,6 @@
- Collector #574: Fixed write on HEAD requests caused by overzealous
ETag support.
- - Fixed broken management form for TopicIndexes.
-
- Fixed bug in z2.py where it would eat certain socket error exceptions
at startup.
@@ -253,9 +365,6 @@
Features Added
- - Add optional 'relative' argument to getURL the method in CatalogBrains.
- This allows it to generate site relative URLs like absolute_url can.
-
- Browser ids can now be encoded in the URL and Zope can be
instructed to automatically include the browser id in its
generated URLs.
@@ -337,8 +446,14 @@
support for the Expat parser for unmarshalling data, which speeds up
things considerably.
- - Added i18n support in TAL processing
+ - Binary builds for Linux are now built against glibc 2.1.3 with large
+ file support enabled.
+
+ - Binary builds for Solaris are now built against Solaris 8 with large
+ file support enabled.
+ - Added i18n support in TAL processing
+
Zope 2.6.0 alpha 1
Features Added