The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension BerkeleyDB.

0.22 17th May 2003

        * win32 problem with open macro fixed.

0.21 12th May 2003

        * adding support for env->set_flags 
	* adding recursion detection
	* win32 problem with rename fixed.
	* problem with sub-database name in Recno & Queue fixed.
	* fixed the mldbm.t test harness to work with perl 5.8.0
	* added a note about not using a network drive when running the
	  test harness.
	* fixed c_pget
	* added BerkeleyDB::Env::DB_ENV method
	* added support for encryption
	* the dbinfo script will now indicate if the database is encrypted
	* The CLEAR method is now CDB safe.

0.20 2nd September 2002

        * More support for building with Berkeley DB 4.1.x
        * db->get & db->pget used the wrong output macro for DBM filters 
          bug spotted by Aaron Ross.
	* db_join didn't keep a reference to the cursors it was joining.
          Spotted by Winton Davies.

0.19 5th June 2002
        * Removed the targets that used mkconsts from Makefile.PL. They relied
          on a module that is not available in all versions of Perl.
        * added support for env->set_verbose
        * added support for db->truncate
        * added support for db->rename via BerkeleyDB::db_rename
        * added support for db->verify via BerkeleyDB::db_verify
        * added support for db->associate, db->pget & cursor->c_pget
        * Builds with Berkeley DB 4.1.x
 

0.18 6th January 2002
        * Dropped support for ErrFile as a file handle. It was proving too
          difficult to get at the underlying FILE * in XS.
          Reported by Jonas Smedegaard (Debian powerpc) & Kenneth Olwing (Win32)
        * Fixed problem with abort macro in XSUB.h clashing with txn abort
          method in Berkeley DB 4.x -- patch supplied by Kenneth Olwing.
        * DB->set_alloc was getting called too late in BerkeleyDB.xs. 
          This was causing problems with ActivePerl -- problem reported
          by Kenneth Olwing.
        * When opening a queue, the Len proprty set the DB_PAD flag. 
          Should have been DB_FIXEDLEN. Fix provided by Kenneth Olwing.
        * Test harness fixes from Kenneth Olwing.

0.17 23 September 2001
        * Fixed a bug in BerkeleyDB::Recno - reported by Niklas Paulsson. 
        * Added log_archive - patch supplied by Benjamin Holzman
        * Added txn_discard
        * Builds with Berkeley DB 4.0.x

0.16 1 August 2001
        * added support for Berkeley DB 3.3.x (but no support for any of the
          new features just yet)

0.15 26 April 2001
        * Fixed a bug in the processing of the flags options in
          db_key_range.
        * added support for set_lg_max & set_lg_bsize
        * allow DB_TMP_DIR and DB_TEMP_DIR
        * the -Filename parameter to BerkeleyDB::Queue didn't work.
        * added symbol DB_CONSUME_WAIT

0.14 21st January 2001
        * Silenced the warnings when build with a 64-bit Perl.
        * Can now build with DB 3.2.3h (part of MySQL). The test harness
          takes an age to do the queue test, but it does eventually pass.
        * Mentioned the problems that occur when perl is built with sfio.

0.13 15th January 2001
        * Added support to allow this module to build with Berkeley DB 3.2  
        * Updated dbinfo to support Berkeley DB 3.1 & 3.2 file format
          changes.  
        * Documented the Solaris 2.7 core dump problem in README.
        * Tidied up the test harness to fix a problem on Solaris where the
          "fred" directory wasn't being deleted when it should have been.
        * two calls to "open" clashed with a win32 macro.
        * size argument for hash_cb is different for Berkeley DB 3.x 
        * Documented the issue of building on Linux.
        * Added -Server, -CacheSize & -LockDetect options 
          [original patch supplied by Graham Barr]
        * Added support for set_mutexlocks, c_count, set_q_extentsize,
          key_range, c_dup
	* Dropped the "attempted to close a Cursor with an open transaction"
	  error in c_close. The correct behaviour is that the cursor
	  should be closed before committing/aborting the transaction.

0.12  2nd August 2000
	* Serious bug with get fixed. Spotted by Sleepycat.
	* Added hints file for Solaris & Irix (courtesy of Albert Chin-A-Young)

0.11  4th June 2000
	* When built with Berkeley Db 3.x there can be a clash with the close
	  macro.
	* Typo in the definition of DB_WRITECURSOR
	* The flags parameter wasn't getting sent to db_cursor
	* Plugged small memory leak in db_cursor (DESTROY wasn't freeing
	  memory)
	* Can be built with Berkeley DB 3.1
   
0.10  8th December 1999
	* The DESTROY method was missing for BerkeleyDB::Env. This resulted in
	  a memory leak. Fixed.
	* If opening an environment or database failed, there was a small 
	  memory leak. This has been fixed. 
	* A thread-enabled Perl it could core when a database was closed. 
	  Problem traced to the strdup function.

0.09  29th November 1999
        * the queue.t & subdb.t test harnesses were outputting a few
          spurious warnings. This has been fixed.

0.08  28nd November 1999
	* More documentation updates
	* Changed reference to files in /tmp in examples.t
	* Fixed a typo in softCrash that caused problems when building
	  with a thread-enabled Perl.
	* BerkeleyDB::Error wasn't initialised properly.
	* ANSI-ified all the static C functions in BerkeleyDB.xs
	* Added support for the following DB 3.x features:
	    + The Queue database type
	    + db_remove
	    + subdatabases 
	    + db_stat for Hash & Queue

0.07  21st September 1999
	* Numerous small bug fixes.
	* Added support for sorting duplicate values DB_DUPSORT.
	* Added support for DB_GET_BOTH & DB_NEXT_DUP.
	* Added get_dup (from DB_File).
	* beefed up the documentation.
	* Forgot to add the DB_INIT_CDB in BerkeleyDB.pm in previous release.
	* Merged the DBM Filter code from DB_File into BerkeleyDB.
	* Fixed a nasty bug where a closed transaction was still used with
	  with dp_put, db_get etc.
	* Added logic to gracefully close everything whenever a fatal error
	  happens. Previously the plug was just pulled.
	* It is now a fatal error to explicitly close an environment if there
	  is still an open database; a database when there are open cursors or
	  an open transaction; and a cursor if there is an open transaction.
	  Using object destruction doesn't have this issue, as object
	  references will ensure everything gets closed in the correct order.
	* The BOOT code now checks that the version of db.h & libdb are the
	  same - this seems to be a common problem on Linux.
	* MLDBM support added.  
	* Support for the new join cursor added.
	* Builds with Berkeley DB 3.x
   	* Updated dbinfo for Berkeley DB 3.x file formats.
	* Deprecated the TxnMgr class. As with Berkeley DB version 3,
	  txn_begin etc are now accessed via the environment object.
	
0.06  19 December 1998
	* Minor modifications to get the module to build with DB 2.6.x
	* Added support for DB 2.6.x's  Concurrent Access Method, DB_INIT_CDB.

0.05  9 November 1998
	* Added a note to README about how to build Berkeley DB 2.x
	  when using HP-UX.
	* Minor modifications to get the module to build with DB 2.5.x

0.04  19 May 1998
	* Define DEFSV & SAVE_DEFSV if not already defined. This allows
	  the module to be built with Perl 5.004_04.

0.03  5 May 1998
	* fixed db_get with DB_SET_RECNO
	* fixed c_get with DB_SET_RECNO and DB_GET_RECNO
	* implemented BerkeleyDB::Unknown
	* implemented BerkeleyDB::Recno, including push, pop etc
	  modified the txn support. 

0.02  30 October 1997
	* renamed module to BerkeleyDB	
	* fixed a few bugs & added more tests

0.01  23 October 1997
	* first alpha release as BerkDB.