Add a reference to a DB object as the first argument to four application callback functions (the callback functions set by DB->set_bt_compare, DB->set_bt_prefix, DB->set_dup_compare, and DB->set_h_hash). [#2179]

Add a DBENV->set_flags interface to support configuration of the database environment. [#2727]

Add the DB_CDB_ALLDB flag to the DBENV->set_flags interface to support Concurrent Data Store semantics across multiple databases in an environment. [#2727]

Remove the app_private field from the DBT structure. Add app_private fields to the DB and DB_ENV structures. [#2862]

The db_env_set_mutexlocks function has become a method on the environment handle, DBENV->set_mutexlocks. [#3001]

General Environment Changes:

Add support for the destruction of mutexes which may hold system resources. [#1953]

Attempts to join existing regions where the application was built with a different version (major, minor, patch) of Berkeley DB than was the application that created the region, now returns EINVAL. [#2198]

Tcl API Changes:

Fix a bug where closing a Tcl environment handle (when the environment included open database handles), the open database handles would be discarded and the underlying Berkeley DB resources leaked. [#2325]

RPC Client/Server Changes:

None.

XA Resource Manager Changes:

Fix a bug in which updates could be performed on behalf of the wrong XA transaction. [#2650]

Locking Subsystem Changes:

Change the locking subsystem to guarantee that if any request for a lock fails, the off field is set to LOCK_INVALID, parts of Berkeley DB reasonably depend on this, and it fixes a potential uninitialized memory read in Btree root page processing. [#2364]

Logging Subsystem Changes:

Fix a bug where an error message was written out if the log_get() interface was called and the supplied DBT included the DB_USERMEM flag, and there was insufficient space available for the log record. [#2243]

Buffer Pool Subsystem Changes:

Avoid flushing the log for each buffer written during a transaction checkpoint. [#2287]

Fix a bug in which the "gbytes" parameter to the set_cachesize functions (and to set_cachesize directives in a DB_CONFIG file) was handled incorrectly. [#2685]

Fix a bug which could result in erratic behavior or application crashes during buffer pool open. [#2747]

Fix a bug in which statistics fields belonging to per-file structures were not returned when per-file statistics were not requested. [#3038]

Add support in the MSVC project files to build statically on Windows. [#2554]

Fix a bug in which resolution of absolute pathnames in VxWorks was incorrect. [#2579]

Fix a bug in which file initialization was being incorrectly performed for temporary files that have not yet been physically instantiated on Windows/95 and /98. [#2341]

Enable large file support in Linux. [#2871]

Fix a compiler warning in the Solaris mutex code. [#2905]

Berkeley DB now works with the Cygwin tools. You need at least DLL version 1.1.4. Configure and build as you would on a Unix system. Only static library builds are supported, no shared library support is included. [#2913]