1Revision history for Perl extension BerkeleyDB.
2
30.34  27th March 2008 
4
5        * Updates to support building with Berkeley DB version 4.7
6
7        * Typo in #ifdef for ThreadCount support. Spotted by Mark Hindley
8
9        * Updated dbinfo
10
110.33  17th January 2008 
12
13        * Added failchk, set_isalive, lock_stat_print & mutex_stat_print.
14          Patch provided by Thomas Busch.
15
160.32  10th July 2007 
17
18        * Updates to support Berkeley DB 4.6
19
20        * Remove all global static data from BerkeleyDB.xs. 
21
220.31  15th Oct 2006 
23
24        * Fixed DB_GET_BOTH. Tnanks to Thomas Drugeon for spotting the typo
25          in typemap and supplying a regression test for this fix.
26
270.30  11th Sept 2006 
28
29        * Fixed queue test harness for Berkeley DB 4.5 compliance
30
31        * Added $env->lsn_reset, $txn->set_timeout, $env->set_timeout &
32          $env->get_timeout, $txn->set_tx_max, $txn->get_tx_max
33
340.29  2nd July 2006 
35
36        * Fixes for cursor get from secondary where primary os recno.
37
38        * Added db_compact
39
400.28  11th June 2006 
41
42        * Fixes for secondary where primary is recno.
43
44        * GET_BOTH_RANGE wasn't working. It is now.
45
46        * Added FreeBSD hints to README - patch supplied by David Landgren
47          in #17675 from rt.cpan.org
48
490.27  1st Novemver 2005 
50
51        * Added support for Berkeley DB 4.4
52
53        * Fixed secondary key issue with recno databases
54
55        * Added libscan to Makefile.PL
56
57        * Fixed a problem in t/subdb.t that meant it hung on Win32.
58
59        * The logic for set_mutexlocks was inverted when using Berkeley DB 4.x
60          Bug spotted by Zefram <zefram@fysh.org>
61
62        * Transactional rename/remove added.
63          Patch supplied by Zefram <zefram@fysh.org>
64
65
660.26  10th October 2004
67
68        * Changed to allow Building with Berkeley DB 4.3
69
70        * added cds_lock and associated methods as a convenience to allow
71          safe updaing of database records when using Berkeley DB CDS mode.
72
73        * added t/cds.t and t/pod.t
74
75        * Modified the test suite to use "-ErrFile => *STDOUT" where 
76          possible. This will make it easier to diagnose build issues.
77
78	* -Errfile will now accept a filehandle as well as a filename
79          This means that -ErrFile => *STDOUT will get all extended error
80          messages displayed directly on screen.
81
82	* Added support for set_shm_key & get_shm_key.
83
84	* Patch from Mark Jason Dominus to add a better error message
85	  when an odd number of parameters are passed to ParseParameters.
86
87	* fixed off-by-one error in my_strdup
88
89	* Fixed a problem with push, pop, shift & unshift with Queue &
90	  Recno when used in CDS mode. These methods were not using
91	  a write cursor behind the scenes. 
92	  Problem reported by Pavel Hlavnicka.
93
940.25  1st November 2003
95
96	* Minor update to dbinfo
97
98	* Fixed a bug in the test harnesses that is only apparent in
99	  perl 5.8.2.  Original patch courtesy of Michael Schwern.
100
1010.24 27th September 2003
102
103        * Mentioned comp.databases.berkeley-db in README
104
105        * Builds with Berkeley DB 4.2
106
107        * The return type for db->db_fd was wrongly set at DualType -
108          should be int.
109
1100.23 15th June 2003
111
112        * Fixed problem where a secondary index would use the same
113          compare callback as the primary key, regardless of what was
114          defined for the secondary index. 
115	  Problem spotted by Dave Tallman.
116
117        * Also fixed a problem with the associate callback. If the value
118          for the secondary key was not a string, the secondary key was
119          being set incorrectly. This is now fixed.
120
121        * When built with Berkeley DB 3.2 or better, all callbacks now use
122          the BackRef pointer instead of the global CurrentDB. This was
123          done partially to fix the secondary index problem, above.
124
125        * The test harness was failing under cygwin. Now fixed. 
126
127        * Previous release broke TRACE. Fixed.
128
1290.22 17th May 2003
130
131        * win32 problem with open macro fixed.
132
1330.21 12th May 2003
134
135        * adding support for env->set_flags 
136	* adding recursion detection
137	* win32 problem with rename fixed.
138	* problem with sub-database name in Recno & Queue fixed.
139	* fixed the mldbm.t test harness to work with perl 5.8.0
140	* added a note about not using a network drive when running the
141	  test harness.
142	* fixed c_pget
143	* added BerkeleyDB::Env::DB_ENV method
144	* added support for encryption
145	* the dbinfo script will now indicate if the database is encrypted
146	* The CLEAR method is now CDB safe.
147
1480.20 2nd September 2002
149
150        * More support for building with Berkeley DB 4.1.x
151        * db->get & db->pget used the wrong output macro for DBM filters 
152          bug spotted by Aaron Ross.
153	* db_join didn't keep a reference to the cursors it was joining.
154          Spotted by Winton Davies.
155
1560.19 5th June 2002
157        * Removed the targets that used mkconsts from Makefile.PL. They relied
158          on a module that is not available in all versions of Perl.
159        * added support for env->set_verbose
160        * added support for db->truncate
161        * added support for db->rename via BerkeleyDB::db_rename
162        * added support for db->verify via BerkeleyDB::db_verify
163        * added support for db->associate, db->pget & cursor->c_pget
164        * Builds with Berkeley DB 4.1.x
165 
166
1670.18 6th January 2002
168        * Dropped support for ErrFile as a file handle. It was proving too
169          difficult to get at the underlying FILE * in XS.
170          Reported by Jonas Smedegaard (Debian powerpc) & Kenneth Olwing (Win32)
171        * Fixed problem with abort macro in XSUB.h clashing with txn abort
172          method in Berkeley DB 4.x -- patch supplied by Kenneth Olwing.
173        * DB->set_alloc was getting called too late in BerkeleyDB.xs. 
174          This was causing problems with ActivePerl -- problem reported
175          by Kenneth Olwing.
176        * When opening a queue, the Len proprty set the DB_PAD flag. 
177          Should have been DB_FIXEDLEN. Fix provided by Kenneth Olwing.
178        * Test harness fixes from Kenneth Olwing.
179
1800.17 23 September 2001
181        * Fixed a bug in BerkeleyDB::Recno - reported by Niklas Paulsson. 
182        * Added log_archive - patch supplied by Benjamin Holzman
183        * Added txn_discard
184        * Builds with Berkeley DB 4.0.x
185
1860.16 1 August 2001
187        * added support for Berkeley DB 3.3.x (but no support for any of the
188          new features just yet)
189
1900.15 26 April 2001
191        * Fixed a bug in the processing of the flags options in
192          db_key_range.
193        * added support for set_lg_max & set_lg_bsize
194        * allow DB_TMP_DIR and DB_TEMP_DIR
195        * the -Filename parameter to BerkeleyDB::Queue didn't work.
196        * added symbol DB_CONSUME_WAIT
197
1980.14 21st January 2001
199        * Silenced the warnings when build with a 64-bit Perl.
200        * Can now build with DB 3.2.3h (part of MySQL). The test harness
201          takes an age to do the queue test, but it does eventually pass.
202        * Mentioned the problems that occur when perl is built with sfio.
203
2040.13 15th January 2001
205        * Added support to allow this module to build with Berkeley DB 3.2  
206        * Updated dbinfo to support Berkeley DB 3.1 & 3.2 file format
207          changes.  
208        * Documented the Solaris 2.7 core dump problem in README.
209        * Tidied up the test harness to fix a problem on Solaris where the
210          "fred" directory wasn't being deleted when it should have been.
211        * two calls to "open" clashed with a win32 macro.
212        * size argument for hash_cb is different for Berkeley DB 3.x 
213        * Documented the issue of building on Linux.
214        * Added -Server, -CacheSize & -LockDetect options 
215          [original patch supplied by Graham Barr]
216        * Added support for set_mutexlocks, c_count, set_q_extentsize,
217          key_range, c_dup
218	* Dropped the "attempted to close a Cursor with an open transaction"
219	  error in c_close. The correct behaviour is that the cursor
220	  should be closed before committing/aborting the transaction.
221
2220.12  2nd August 2000
223	* Serious bug with get fixed. Spotted by Sleepycat.
224	* Added hints file for Solaris & Irix (courtesy of Albert Chin-A-Young)
225
2260.11  4th June 2000
227	* When built with Berkeley Db 3.x there can be a clash with the close
228	  macro.
229	* Typo in the definition of DB_WRITECURSOR
230	* The flags parameter wasn't getting sent to db_cursor
231	* Plugged small memory leak in db_cursor (DESTROY wasn't freeing
232	  memory)
233	* Can be built with Berkeley DB 3.1
234   
2350.10  8th December 1999
236	* The DESTROY method was missing for BerkeleyDB::Env. This resulted in
237	  a memory leak. Fixed.
238	* If opening an environment or database failed, there was a small 
239	  memory leak. This has been fixed. 
240	* A thread-enabled Perl it could core when a database was closed. 
241	  Problem traced to the strdup function.
242
2430.09  29th November 1999
244        * the queue.t & subdb.t test harnesses were outputting a few
245          spurious warnings. This has been fixed.
246
2470.08  28nd November 1999
248	* More documentation updates
249	* Changed reference to files in /tmp in examples.t
250	* Fixed a typo in softCrash that caused problems when building
251	  with a thread-enabled Perl.
252	* BerkeleyDB::Error wasn't initialised properly.
253	* ANSI-ified all the static C functions in BerkeleyDB.xs
254	* Added support for the following DB 3.x features:
255	    + The Queue database type
256	    + db_remove
257	    + subdatabases 
258	    + db_stat for Hash & Queue
259
2600.07  21st September 1999
261	* Numerous small bug fixes.
262	* Added support for sorting duplicate values DB_DUPSORT.
263	* Added support for DB_GET_BOTH & DB_NEXT_DUP.
264	* Added get_dup (from DB_File).
265	* beefed up the documentation.
266	* Forgot to add the DB_INIT_CDB in BerkeleyDB.pm in previous release.
267	* Merged the DBM Filter code from DB_File into BerkeleyDB.
268	* Fixed a nasty bug where a closed transaction was still used with
269	  with dp_put, db_get etc.
270	* Added logic to gracefully close everything whenever a fatal error
271	  happens. Previously the plug was just pulled.
272	* It is now a fatal error to explicitly close an environment if there
273	  is still an open database; a database when there are open cursors or
274	  an open transaction; and a cursor if there is an open transaction.
275	  Using object destruction doesn't have this issue, as object
276	  references will ensure everything gets closed in the correct order.
277	* The BOOT code now checks that the version of db.h & libdb are the
278	  same - this seems to be a common problem on Linux.
279	* MLDBM support added.  
280	* Support for the new join cursor added.
281	* Builds with Berkeley DB 3.x
282   	* Updated dbinfo for Berkeley DB 3.x file formats.
283	* Deprecated the TxnMgr class. As with Berkeley DB version 3,
284	  txn_begin etc are now accessed via the environment object.
285	
2860.06  19 December 1998
287	* Minor modifications to get the module to build with DB 2.6.x
288	* Added support for DB 2.6.x's  Concurrent Access Method, DB_INIT_CDB.
289
2900.05  9 November 1998
291	* Added a note to README about how to build Berkeley DB 2.x
292	  when using HP-UX.
293	* Minor modifications to get the module to build with DB 2.5.x
294
2950.04  19 May 1998
296	* Define DEFSV & SAVE_DEFSV if not already defined. This allows
297	  the module to be built with Perl 5.004_04.
298
2990.03  5 May 1998
300	* fixed db_get with DB_SET_RECNO
301	* fixed c_get with DB_SET_RECNO and DB_GET_RECNO
302	* implemented BerkeleyDB::Unknown
303	* implemented BerkeleyDB::Recno, including push, pop etc
304	  modified the txn support. 
305
3060.02  30 October 1997
307	* renamed module to BerkeleyDB	
308	* fixed a few bugs & added more tests
309
3100.01  23 October 1997
311	* first alpha release as BerkDB.
312
313