Update COMMENT
Upstream changes:
bsddb3-6.2.1: Testsuite verified with Unix 32 bit Python 2.6-2.7 and 3.3-3.5, and Berkeley DB 4.7, 4.8, 5.1, 5.3, 6.1 and 6.2. (20160510)
BEWARE: Oracle Berkeley DB version 6.x is licensed under AGPL3 or have a commercial license. If you need the old Berkeley DB license, you can still use Berkeley DB version up to (and including) 5.3. You can use that Berkeley DB version with this bindings release.
If you are going to use replication (Replication Manager or Base Replication), you should use Berkeley DB 5.1 or up.
The minimum recommended version for advanced use is Berkeley DB 4.8.30.
Changes:
Correctly detect Berkeley DB installations in modern 64 bits Debians.
bsddb3-6.2.0: Testsuite verified with Unix 32 bit Python 2.6-2.7 and 3.3-3.5, and Berkeley DB 4.7, 4.8, 5.1, 5.3, 6.1 and 6.2. (20160421)
BEWARE: Oracle Berkeley DB version 6.x is licensed under AGPL3 or have a commercial license. If you need the old Berkeley DB license, you can still use Berkeley DB version up to (and including) 5.3. You can use that Berkeley DB version with this bindings release.
If you are going to use replication (Replication Manager or Base Replication), you should use Berkeley DB 5.1 or up.
The minimum recommended version for advanced use is Berkeley DB 4.8.30.
Changes:
Support Berkeley DB 6.2.x.
Declare Python 3.5 support for PyPI.
Drop support for Python 3.2. If you need compatibility with that version, you can keep using old releases of these bindings.
Drop support for Berkeley DB 5.0, 5.2 and 6.0. If you need compatibility with those versions, you can keep using old releases of these bindings.
bsddb3-6.1.1: Testsuite verified with Unix 32 bit Python 2.6-2.7 and 3.2-3.5, and Berkeley DB 4.7-6.1. (20151107)
BEWARE: Oracle Berkeley DB version 6.x is licensed under AGPL3 or have a commercial license. If you need the old Berkeley DB license, you can still use BDB version up to (and including) 5.3.
If you are going to use replication (Replication Manager or Base Replication), you should use Berkeley DB 5.1 or up.
The minimum recommended version for advanced use is Berkeley DB 4.8.30.
Changes:
Compatibility with Python 3.5.
Code cleanup after dropping Python 2.4/2.5 support.
PGP key changed.
Support for DB_FORCESYNCENV flag in "DB_ENV.close()".
Support for DB_LOG_NOSYNC flag in "DB_ENV.log_set_config()".
Fix tests under Windows. See https://bugs.python.org/issue22943 .
Solve an incorrect parameter verification with the "DB.compact()" method call.
Solve a compilation warning when compiling the bindings for Python 3.5 and Berkeley DB 4.8, 5.0 or 5.1.
bsddb3-6.1.0: Testsuite verified with Unix 32 bit Python 2.6-2.7 and 3.2-3.4, and Berkeley DB 4.7-6.1. (20140721)
BEWARE: Oracle Berkeley DB version 6.x is licensed under AGPL3 or have a commercial license. If you need the old Berkeley DB license, you can still use BDB version up to (and including) 5.3.
If you are going to use replication (Replication Manager or Base Replication), you should use Berkeley DB 5.1 or up.
The minimum recommended version for advanced use is Berkeley DB 4.8.30.
Changes:
Support Berkeley DB 6.1.x.
Solve a ResourceWarning when compiling.
Drop support for Python 2.4, 2.5 and 3.1. If you need compatibility with those versions, you can keep using old releases of these bindings.
Drop support for Berkeley DB 4.3, 4.4, 4.5, 4.6. If you need compatibility with those versions, you can keep using old releases of these bindings.
From now on, our support reference is Red Hat Enterprise Linux 6.
Drop modules attributes "cvsid".
Drop (hidden) $Id$ keyword in the documentation.
* Support for Berkeley DB 5.0.
* Drop support for Python 3.0.
* Now you can use TMPDIR env variable to override default
test directory ("/tmp").
* Versioning of C API. If you use the code from C, please
check the bsddb_api->api_version number against
PYBSDDB_API_VERSION macro.
* In C code, the bsddb_api->dbsequence_type component is always available,
even if the Berkeley DB version used doesn't support sequences. In that
case, the component will be NULL.
* In C code, "DBSequenceObject_Check()" macro always exists, even if the
Berkeley DB version used doesn't suport sequences. In that case, the test
macro always returns "false".
* For a long time, the API has been accesible via C using "_bsddb.api" or
"_pybsddb.api". If you are using Python >=2.7, you acquire access to that
API via the new Capsule protocol (see "bsddb.h"). If you use the C API and
upgrade to Python 2.7 and up, you must update the access code (see
"bsddb.h"). The Capsule protocol is not supported in Python 3.0, but
pybsddb 5.0.x doesn't support Python 3.0 anymore.
* Capsule support was buggy. The string passed in to PyCapsule_New() must
outlive the capsule.
* Solve an "Overflow" warning in the testsuite running under python 2.3.
* When doing a complete full-matrix test, any warning will be considered
an error.
4.7.5:
* Add support for "DB_EID_INVALID" and "DB_EID_BROADCAST" flags.
* Add support for "DB_SEQUENCE->stat_print()". The binding
support for "DB_SEQUENCE" is now complete.
* Add support for "DB_ENV->txn_stat_print()".
* Add support for "DB_ENV->get_timeout()".
* Document that "DB_ENV->txn_stat()" accepts a flag.
* Unlock the GIL when doing "DB_ENV->set_tx_max()" and
"DB_ENV->set_tx_timestamp()".
* Add support for "DB_ENV->get_tx_max()".
* Add support for "DB_ENV->get_tx_timestamp()".
* Add support for "DB_TXN_WAIT" flag.
* Add support for "DB_TXN->set_timeout()".
* Add support for "DB_TXN->set_name()" and
"DB_TXN->get_name()". Under Python 3.0, the name
is an Unicode string. The binding support for
"DB_TXN" is now complete.
* Add support for "DB_REP_PERMANENT", "DB_REP_CONF_NOAUTOINIT",
"DB_REP_CONF_DELAYCLIENT", "DB_REP_CONF_BULK",
"DB_REP_CONF_NOWAIT", "DB_REP_LEASE_EXPIRED",
"DB_REP_CONF_LEASE", "DB_REPMGR_CONF_2SITE_STRICT",
"DB_REP_ANYWHERE", "DB_REP_NOBUFFER" and "DB_REP_REREQUEST"
flags.
4.7.4:
* Under Python 3.0, "bsddb.db.DB_VERSION_STRING",
"bsddb.db.__version__" and "bsddb.db.cvsid" must
return (unicode) strings instead of bytes. Solved.
* Use the new (20081018) trove classifiers in PyPI
to identify Python supported versions.
* In "DB_ENV->rep_set_timeout()" and "DB_ENV->rep_get_timeout()",
support flags "DB_REP_LEASE_TIMEOUT".
* In "DB_ENV->rep_set_timeout()" and "DB_ENV->rep_get_timeout()",
support flags "DB_REP_HEARTBEAT_MONITOR" and
"DB_REP_HEARTBEAT_SEND". These flags are used in the Replication
Manager framework, ignored if using Base Replication.
* Implements "DB->exists()".
* Add support for "DB_IMMUTABLE_KEY" flag.
* Add support for "DB_REP_LOCKOUT" exception.
* Support returning a list of strings in "associate()"
callback. (Kung Phu)
* Testsuite and Python 3.0 compatibility for "associate()"
returning a list. In particular, in Python 3.0 the list
must contain bytes.
* Implements "DBEnv->fileid_reset()". (Duncan Findlay)
* Implements "DB->compact()". (Gregory P. Smith)
Berkeley DB 4.6 implementation is buggy, so we only
support this function from Berkeley DB 4.7 and newer.
We also support related flags "DB_FREELIST_ONLY"
and "DB_FREE_SPACE".
4.7.3: (Python 2.6 release. First release with Python 3.0 support)
* "private" is a keyword in C++. (Duncan Grisby)
* setup.py should install "bsddb.h". (Duncan Grisby)
* "DB_remove" memory corruption & crash. (Duncan Grisby)
* Under Python 3.0, you can't use string keys/values, but
bytes ones. Print the right error message.
* "DB.has_key()" allowed transactions as a positional parameter.
We allow, now, transactions as a keyword parameter also, as
documented.
* Correct "DB.associate()" parameter order in the documentation.
* "DB.append()" recognizes "txn" both as a positional and a
keyword parameter.
* Small fix in "dbshelve" for compatibility with Python 3.0.
* A lot of changes in "dbtables" for compatibility with Python 3.0.
* Huge work making the testsuite compatible with Python 3.0.
* In some cases the C module returned Unicode strings under
Python 3.0. It should return "bytes", ALWAYS. Solved.
* Remove a dict.has_key() use to silence a warning raised under
Python2.6 -3 parameter. Python SVN r65391, Brett Cannon.
* Solve some memory leaks - Neal Norwitz
* If DBEnv creation fails, library can crash. (Victor Stinner)
* Raising exceptions while doing a garbage collection
will kill the interpreter. (Victor Stinner)
* Crash in "DB.verify()". Noted by solsTiCe d'Hiver.
changes: many fixes, improvements and API extensions, see
http://www.jcea.es/programacion/pybsddb.htm
pkgsrc note: 'egg' (setuptools) support was added upstream, but
disabled in pkgsrc because it leads to nondeterministic results
depending on OS version and installed pkgs
4.5.0:
* Adds supports for compiling and linking with BerkeleyDB 4.5
* Python Bug #1599782: Fix segfault on bsddb.db.DB().type() due to
releasing the GIL when it shouldn't. (nnorowitz)
* Fixes a bug with bsddb.DB.stat where the flags and txn keyword
arguments are transposed.
* change test cases to use tempfile.gettempdir()
4.4.5:
* pybsddb Bug #1527939: bsddb module DBEnv dbremove and dbrename
methods now allow their database parameter to be None as the
sleepycat API allows.
4.4.4:
* fix DBCursor.pget() bug with keyword argument names when no data= is
supplied [SF pybsddb bug #1477863]
* add support for DBSequence objects [patch #1466734]
* support DBEnv.log_stat() method on BerkeleyDB >= 4.0 [patch #1494885]
* support DBEnv.lsn_reset() method on BerkeleyDB >= 4.4 [patch #1494902]
* add DB_ARCH_REMOVE flag and fix DBEnv.log_archive() to accept it without
potentially following an uninitialized pointer.
4.4.3:
* fix DBEnv.set_tx_timestamp to not crash on Win64 platforms (thomas.wouters)
* tons of memory leak fixes all over the code (thomas.wouters)
* fixes ability to unpickle DBError (and children) exceptions
changes:
-Changes the interface to the recently added set_bt_compare callback to
only take two arguments like a normal comparison function.
-Fixes a crash in DB.associate when it wanted to raise an exception.
cvs: ----------------------------------------------------------------------
Changes:
* changed DB and DBEnv set_get_returns_none() default from 1 to 2.
* cleaned up compatibility iterator interface.
* the legacy compatibility dict-like interface now support iterators
and generators and allows multithreaded access to the database.
* fixed a tuple memory leak when raising "object has been closed"
exceptions for DB, DBEnv and DBCursor objects. I doubt much
previous code triggered this.
* use of a closed DBCursor now raises a DBCursorClosedError exception
subclass of DBError rather than a boring old DBError.
* added DBCursor.get_current_size() method to return the length in bytes
of the value pointed to by the cursor without reading the actual data.
* Standalone pybsddb builds now use a _pybsddb dynamic/shared library
rather than _bsddb. This allows for pybsddb to be built, installed
and used on python >= 2.3 which includes an older version of pybsddb
as its bsddb library.
* Can now compile and link with BerkeleyDB 4.2.x (when its released).
* the legacy bsddb module supports the iterator interface on python 2.3.
* Support the DBEnv.set_shm_key() method.
* Fixed setup.py include/{db4,db3} header file searching (SF bug #789740).
Changes sinec 4.1.1:
* Extended DB & DBEnv set_get_returns_none functionality to take a
"level" instead of a boolean flag. The boolean 0 and 1 values still
have the same effect. A value of 2 extends the "return None instead
of raising an exception" behaviour to the DBCursor set methods.
This will become the default behaviour in pybsddb 4.2.
* Updated documentation for set_get_returns_none. Regenerated the
stale html docs from the text documentation.
* Fixed a typo in DBCursor.join_item method that made it crash instead
of returning a value. Obviously nobody uses it. Wrote a test case
for join and join_item.
* Added the dbobj wrapper for DBEnv set_timeout method.
* Updated README.txt
* Added the DBEnv.set_timeout method.
* code cleanup to use python 2.x features in .py files
* the standalone pybsddb distribution will install a module
called bsddb3 while the module included with python >= 2.3
will be known as bsddb.
* Shared all .py and .c source with the Python project.
* Fixed DBTxn objects to raise an exception if they are used after
the underlying DB_TXN handle becomes invalid. (rather than
potentially causing a segfault)
* Fixed module to work when compiled against a python without thread
support.
* Do not attempt to double-close DB cursor's whos underlying DB
has already been closed (fixes a segfault).
* Close DB objects when DB.open fails to prevent an exception about
databases still being open when calling DBEnv.close.
Inspired by FreeBSD "ports".
Fix the PLISTs accordingly.
Also, while at it, remove now obsolete compileall.py calls in post-install
targets and insure that extension.mk is in included before builinlinks of
other Python modules.
Discussed with/ok'ed by drochner@.
This NetBSD package includes the patches from bug reports #667340,
#667343, and #669533, which are in the SourceForge pybsddb3 CVS but
not yet in the 4.1.1 release; hence PKGREVISION=1.