[Zodb-checkins] CVS: ZODB3 - NEWS.txt:1.17.2.24 README.txt:1.7.4.10 setup.py:1.20.2.11

Jeremy Hylton jeremy at zope.com
Wed Apr 30 16:42:16 EDT 2003


Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv24932

Modified Files:
      Tag: ZODB3-3_1-branch
	NEWS.txt README.txt setup.py 
Log Message:
A bunch of updates in anticipation of a release.


=== ZODB3/NEWS.txt 1.17.2.23 => 1.17.2.24 ===
--- ZODB3/NEWS.txt:1.17.2.23	Tue Feb 11 13:26:16 2003
+++ ZODB3/NEWS.txt	Wed Apr 30 15:41:46 2003
@@ -1,3 +1,80 @@
+What's new in ZODB3 3.1.2 beta 1?
+=================================
+
+ZODB
+----
+
+A number of minor reference count fixes in the object cache were
+fixed.  That's the cPickleCache.c file.
+
+It was possible that a transaction that failed in tpc_finish() to lose
+the traceback that caused the failure.  The transaction code was fixed
+to report the original error as well as any errors that occur while
+trying to recover from the original error.
+
+ZEO
+---
+
+A ZEO client will not read from its cache during cache verification.
+This fix was necessary to prevent the client from reading inconsistent
+data.
+
+The isReadOnly() method of a ZEO client was fixed to return the false
+when the client is connected to a read-only fallback server.
+
+The sync() method of ClientStorage and the pending() method of a zrpc
+connection now do both input and output.
+
+The short_repr() function used to generate log messages was fixed so
+that it does not blow up creating a repr of very long tuples.
+
+Storages
+--------
+
+Two small bugs were fixed in DemoStorage.  undoLog() did not handle
+its arguments correctly and pack() could accidentally delete objects
+created in versions.
+
+Fixed trivial bug in fsrecover that prevented it from working at all.
+
+FileStorage will use fsync() on Windows starting with Python 2.2.3.
+
+FileStorage's commit version was fixed.  It used to stop after the
+first object, leaving all the other objects in the version.
+
+BTrees
+------
+
+_bucket_set():  This could leave a mapping bucket in a variety of insane
+states when the value passed in was of the wrong type (for example,
+doing
+    b[obj] = 3.7
+when b is an OIBTree).  This manifested as a refcount leak in the test
+suite, but could have been much worse (most likely in real life is that
+a seemingly arbitrary existing key would "go missing").
+
+_BTree_set():  We leaked a reference to the first key of the second
+bucket when deleting the first child of a BTree node with more than one
+child.  This caused >600 int objects to leak in the OI and OO flavors
+of testRemoveSucceeds.
+
+BTree_deleteNextBucket():  This failed to decref the temp result from
+BTree_lastBucket().  In unusual cases, this could cause a chain of
+buckets to leak (the DegenerateBTree tests appeared to be the only
+ones that provoked this, and there it leaked 285 IISet buckets).  Other
+uses of BTree_lastBucket() appear to be refcount-correct.
+
+nextBTreeItems():  This was copying the value (from the next (key,
+value) pair) from the bucket into the set-iteration struct twice.  I
+don't believe this had any visible effect, it was simply pointless and
+wasted a little time (discovered by eyeball).
+
+Tools
+-----
+
+Four tools are now installed by setup.py: fsdump.py, fstest.py,
+repozo.py, and zeopack.py.
+
 What's new in ZODB3 3.1.1 final?
 ================================
 Release date: 11-Feb-2003


=== ZODB3/README.txt 1.7.4.9 => 1.7.4.10 ===
--- ZODB3/README.txt:1.7.4.9	Tue Feb 11 13:13:57 2003
+++ ZODB3/README.txt	Wed Apr 30 15:41:46 2003
@@ -1,13 +1,12 @@
-ZODB3 3.1.1 final
-=================
-Release date: 11-Feb-2003
+ZODB3 3.1.2 beta 1
+==================
+Release date: 30-Apr-2003
 
 Please see the LICENSE.txt file for terms and conditions.
 
 Andrew Kuchling's ZODB/ZEO Programming Guide is provided verbatim
 under the terms of the GNU Free Documentation License.
 
-
 Introduction
 ------------
 
@@ -17,9 +16,9 @@
 from the same source repository.  They have been packaged for use in
 non-Zope stand-alone Python applications.
 
-ZODB3 is known to work with Python 2.1.3, 2.2, and the
-not-yet-released 2.3.  For best results, we recommend using Python
-2.1.3 or Python 2.2.2.  Note that 2.2.1 does not work.
+ZODB3 is known to work with Python 2.1.3, 2.2, and 2.3b1.  For best
+results, we recommend using Python 2.1.3 or Python 2.2.2.  Note that
+2.2.1 does not work.
 
 Our primary development platform is Linux, but we also test on Windows
 2000 and 98.  The test suite should pass without error on all of these


=== ZODB3/setup.py 1.20.2.10 => 1.20.2.11 ===
--- ZODB3/setup.py:1.20.2.10	Tue Feb 11 12:08:55 2003
+++ ZODB3/setup.py	Wed Apr 30 15:41:46 2003
@@ -20,10 +20,28 @@
 interface, rich transaction support, and undo.
 """
 
+classifiers = """\
+Development Status :: 5 - Production/Stable
+Intended Audience :: Developers
+License :: OSI Approved :: Zope Public License
+Programming Language :: Python
+Topic :: Database
+Topic :: Software Development :: Libraries :: Python Modules
+Operating System :: Microsoft :: Windows
+Operating System :: Unix
+"""
+
 import sys
 from distutils.core import setup
 from distutils.extension import Extension
 
+if sys.version_info < (2, 3):
+    _setup = setup
+    def setup(**kwargs):
+        if kwargs.has_key("classifiers"):
+            del kwargs["classifiers"]
+        _setup(**kwargs)
+
 ExtensionClass = Extension(name = 'ExtensionClass',
                            sources = ['ExtensionClass/src/ExtensionClass.c'])
 
@@ -160,10 +178,16 @@
 if sys.hexversion >= 0x020200F0:
     ext_modules.append(bsddbhelper)
 
+scripts = ["Tools/fsdump.py",
+           "Tools/fstest.py",
+           "Tools/repozo.py",
+           "Tools/zeopack.py",
+           ]
+
 doclines = __doc__.split("\n")
 
 setup(name="ZODB3",
-      version="3.1.1",
+      version="3.1.2b1",
       maintainer="Zope Corporation",
       maintainer_email="zodb-dev at zope.org",
       url = "http://www.zope.org/Wikis/ZODB/FrontPage",
@@ -174,5 +198,7 @@
       license = "http://www.zope.org/Resources/ZPL",
       platforms = ["yes"], #
       description = doclines[0],
-      long_description = "\n".join(doclines[2:])
+      classifiers = filter(None, classifiers.split("\n")),
+      long_description = "\n".join(doclines[2:]),
+      scripts = scripts,
       )




More information about the Zodb-checkins mailing list