The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension CDB_File.

1.05 - Todd Rinaldo <toddr@cpan.org> 2020-12-11
- Additional tests for known corner cases.
- Use Perl_warn not warn in XS.
- Test cleanup. Abstract helper calls.
- Macro cleanup in XS for code readability.

1.04 - Todd Rinaldo <toddr@cpan.org> 2020-12-10
- add utf8 mode for read/write of database
- Major re-factor to remove SVs from the CDB internals. SVs are only generated at return.
  This was in attempt to address a known memory leak in the previous implementation.
- CDB_File will warn if undef keys or values are passed to insert. This is meant to be
  consistent with how Perl handles the situation.
- Consistently tidy CDB_File.xs and remove tabs
- Make unit tests use File::Temp so we don't leave temp files laying around
- update Devel::PPPort to 3.62

1.03 - Todd Rinaldo <toddr@cpan.org> 2020-11-13
WARNING: due to a bug (#12) on 1.02, CDB databases generated by 1.02 will
not be legible by all other versions and vice-versa. It is recommended you
re-generate any databases generated by that version.

- #12 Fix incompatibility with CDB files due to accidental algorithm change.
  Add xt tests for 0.96 databases to assure this does not happen again.
- Fixup Changelog for metacpan
- #11 Add additional benchmark test in git for.
- Provide the CDB_File algorithm in POD in the event the original document is lost.
- Update Devel::PPPort to 3.54

1.02 - Todd Rinaldo <toddr@cpan.org> 2020-01-29
- Invoke new as a class method in docs and practice.
- Add support for COW PVs when returning key values. This will hopefully
  deduplicate returned strings where possible.
- Adjust tests to skip exists tests on 5.8.1, not 5.6.2
- Optimize cdb_hashadd as a inline macro
- Croak if atomic re-write from the temp to the final file fails.

1.01 - Todd Rinaldo <toddr@cpan.org> 2020-01-27
- Fix MANIFEST so Changelog is shpped.
- Address file descriptor leak in CDB_File.

1.00 - Todd Rinaldo <toddr@cpan.org> 2020-01-19
- Enable github actions for automated testing
- Switch to github issues.

0.99 - J. Nick Koston <bdraco@cpan.org> 2016-07-16
- Add a fetch_all function for 1:1 hash mapping

0.98 - Todd Rinaldo <toddr@cpan.org> 2015-06-30
- Replace use vars with our (deprecated since 5.6.0)
- Switch from Dynaloader to XSLoader as it's known to be a lower memory profile module.

0.97_01 - Todd Rinaldo <toddr@cpan.org> 2011-04-05
- Put ppport.h back in with an updated version.
- ppport.h warnings now indicate that the module is not perl 5.6 compatible,
  but the test suite continues to succeed there. p5p suggests dropping support
  for 5.6

0.97 - Todd Rinaldo <toddr@cpan.org> 2011-04-05
- CPAN testers looks relativley clean. Publishing a stable version.

0.96_02 - Todd Rinaldo <toddr@cpan.org> 2011-04-03
- Perl 5.6 doesn't warn about $x{undef}. Skip this test for 5.6

0.96_01 - Todd Rinaldo <toddr@cpan.org> 2011-04-01
- Remove ppport.h from distro on reccommendation from ppport.h
- Remove C99 style code from CDB_File to allow GCC 2.95 compilers to work
- Modernize Makefile.PL and require Test::More
- Update tests to use Test::More
- Fix makefile - {'d_mmap'}  isn't always defined
- Cleanup temp files during testing
- Untie before file removal so windows doesn't block the removal

0.96
- Fix for compiling under stricter compilers

0.95
- Support passing multiple key/value pairs to ->insert() for performance
  when building CDBs.

0.94
- Made work on perl 5.8.1
- Added some notes about performance

0.93
- Switched to allocating memory on the heap. I have no idea how the
  previous scheme worked at all. It should have fallen over everywhere.
- Fixed a bug where you re-tie the same hash and CDB_File complains
  about calling NEXT before calling FIRST.

0.92
- Fixed major set of leaks in both memory and filehandles
- Change of ownership to Matt Sergeant

0.91 2001-12-18
- fix memory leak (thanks MJP)
- document and test that multi_get returns ref to empty hash
- beta release

0.86 2001-05-25
- add handle, datalen, and datapos methods for low level access
- simplify multi_get, and remove a memory leak
  - document need to destroy extra references
- open files in binary mode (thanks IW)
- use mmap() (thanks RDW)
- beta release

0.85 2001-02-06
- multi_get now works during each (thanks MdlR)
- move multi_get to CDB_File.xs, remove dumb O(n*n), and fix bug
- don't make the database files read-only (thanks FL)
- beta release

0.84 2000-11-21
- backwards compatibility with perl-5.005 (thanks BD)
- EPROTO not available everywhere (thanks BD); EFTYPE preferred
- beta release

0.83 2000-11-03
- fix stupid typo
- beta release

0.82 2000-05-30
- fix bug in `each', introduced in 0.81
- beta release

0.81 2000-05-12
- port to perl 5.6.0
- cdb code derived from cdb-0.75
- cdb code incorporated into CDB_File.xs
- multi_get works even for non-adjacent keys
- fetching values in order from previously obtained keys array works
- use perlapio

0.8 1999-09-08
- fix bug with undefined keys / values (thanks CMC, JPB)
- beta release

0.7 1997-10-20
- use Perl's Strerror instead of strerror
- fix bogus warning in multi_get (thanks MdlR)
- fix bug with empty values (thanks RDM)
- don't fail test 6 if run as root (thanks MP, JB)
- alpha release

0.6 1997-03-25
- fix unsigned off_t bug
- fix version number confusion
- propagate Perl's idea of CC and LD to cdb (thanks IP, SB)
- use safe cdb_bread() in preference to read() (thanks MdlR)
- object is now a scalar again, containing struct cdbobj
- support repeated keys (thanks MdlR)
- split create into new, insert, finish
- optimize FETCH and NEXTKEY
- support building as a static extension
- PERLIO_NOT_STDIO so it works with useperlio defined (thanks AK, NMS)
- add multi_get method (thanks MdlR)
- fix some core dumps (thanks MdlR)
- make cdb object read only (thanks MdlR)
- alpha release

0.5 1997-02-12
- fix order of @ISA, so imports work
- alpha release

0.4 1997-02-06
- iteration (FIRSTKEY, NEXTKEY) added
- "pre-alpha" release

0.3 1997-01-28
- no longer dependent on cdbmake
- CDB_File::cdbm removed
- temporary file name no longer optional
- "pre-alpha" release

0.2 1997-01-14
- first "pre-alpha" release

0.1 1997-01-08
- original version; created by h2xs 1.16