a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Changes from previous:
----------------------
2.0008 Jun 17 13:00:00 2012 PDT
- Arrays and hashes retrieved from a database no longer create
circular references (RT#77746).
2.0007 May 27 19:35:00 2012 PDT
- Include one-line descriptions of each POD page after the name.
Thanks to Yves Agostini for the patch and Gregor Herrmann for
submitting it (RT#76378).
- t/98_pod.t: Skip tests if Pod::Simple 3.21 is installed
(RT#77419).
2.0006 Apr 1 17:15:00 2012 PDT
- Er, try harder to get t/27_filehandle.t to work under TB2.
2.0005 Mar 25 13:05:00 2012 PDT
- t/27_filehandle.t has been fixed again.
Upstream changes:
2.0004 Sep 12 18:38:00 2010 PDT
- t/27_filehandle.t has been fixed to work with Test::More 2.
2.0003 Sep 12 12:02:00 2010 PDT
- t/43_transaction_maximum.t has been fixed. It was broken in the
previous release for systems that will only open so many files.
2.0002 Sep 5 12:35:00 2010 PDT
- Error messages from DBM::Deep now use the caller???s file name.
They used incorrectly to use the name of the program ($0).
- begin_work now checks correctly to see whether the new transac-
tion exceeds the number the file was created to support. Some-
times it would allow a few more transactions, and then proceed
to corrupt the database (RT#60903).
- The description of the file header in DBM::Deep::Internals has
been brought up to date.
Upstream changes:
2.0001 Aug 22 12:03:00 2010 PDT
- Simply reading a hash or array element no longer causes autoviv-
ification. (Dereferencing it does still.) This makes DBM::Deep
comply with Perl's behaviour (RT#60391).
Upstream changes:
2.0000 Jul 18 14:30:00 2010 PDT
- THIS VERSION IS NOT FULLY COMPATIBLE WITH 1.002x.
- This version is practically identical to the previous dev
release. See 1.9999_01, below, for all the hype.
- Also, a memory leak caused by misuse of field hashes has
been fixed.
- perl 5.8.4 is now required.
1.9999_02 Jul 11 13:02:00 2010 PDT
(This is the second developer release for 2.0000.)
- Fixed a broken test
- Fixed compilation and overloading under perl 5.8.x
1.9999_01 Jun 27 14:22:00 2010 PDT
(This is the first developer release for 2.0000.)
- THIS VERSION CHANGES THE FILE FORMAT.
- Databases from DBM::Deep 1.0003 and higher can still
be opened.
- Newly-created databases automatically use the version 2.x
format (numbered 4 internally), which version 1.x
cannot open.
- The optimize method, since it copies everything to a new
database, upgrades it.
- There is a new db_version method.
- Support for perl 5.6 has been dropped. We now require 5.8. 5.6
users can still use version 1.0025. If anyone really needs 5.6
support in version 2.x, we can add it back again, but would pre-
fer not to. Bug fixes may be back-ported to 1.002x if requested.
- The File back end now supports Unicode. This is only supported
for new databases. Old databases in the DBM::Deep 1.0003 format
will have to be upgraded for this to work.
- New external_refs mode, which allows objects retrieved from the
database to hang on to the corresponding database entries, keep-
ing them alive, even after all references to them from the data-
base itself have been deleted.
- Numeric comparison of DBM::Deep objects now works. Different
objects used to compare equal. And there were uninitial-
ized warnings.
- Deletions now work properly in the DBI back end. Deleting an
array or hash referenced by two keys in the database used to
be a no-op.
Upstream changes:
1.0025 Jun 6 12:46:00 2010 PDT
(This version is compatible with 1.0024)
- Fixed t/39_singletons.t to work on Windows.
1.0024 May 30 14:25:00 2010 PDT
(This version is compatible with 1.0023)
- Stale references (objects blessed into DBM::Deep::Null), which
have always supposed to act like undef, now compare equal to
undef, "" and 0. $stale_ref eq "" used to return false, even
though "$stale_ref" was the empty string.
- If you assign a stale reference to a database location,
DBM::Deep now warns and assigns undef, instead of dying with
obscure error messages.
- Using a stale reference as a hash or array ref now causes an
error with a more helpful message.
Upstream changes:
1.0023 May 9 14:33:00 2010 PDT
(This version is compatible with 1.0022)
- The DBI back end no longer dies with ?<80><98>Use of uninitialized value
$_ in lc?<80><99> in perl 5.12.0. Thanks to Ansgar Burchardt for finding
and fixing this problem.
1.0022 Apr 25 18:40:00 2010 PDT
(This version is compatible with 1.0021)
- Singleton support has been re-enabled in the File back end.
- t/43_transaction_maximum.t was still failing on some systems
(see http://www.cpantesters.org/cpan/report/7151810), so now we
try to detect the maximum number of files we can open.
1.0021 Apr 18 18:28:00 2010 PDT
(This version is compatible with 1.0020)
- Correct spelling mistakes in the documentation (thanks to Gregor
Herrmann for the corrections and to Ansgar Burchardt for passing
them on) (RT#56520)
- MANIFEST now lists the test libs so they get included in the
distribution (RT#56512)
- It no longer crashes in perl 5.6.2.
1.0020 Feb 16 22:00:00 2010 EST
(This version is compatible with 1.0016)
- Fixed t/43_transaction_maximum.t so that it doesn't error out on systems
which cannot fork > 255 children at one time.
- Improved code coverage
- Added t/96_virtual_functions.t which helps describe what actually
needs to be overridden in a new plugin.
1.0019_003 Feb 16 22:00:00 2010 EST
(This is the third developer release for 1.0020.)
(This version is compatible with 1.0016)
- Fixed problem where "./Build test" wouldn't actually -do- anything.
- (No-one apparently tried to install this till Steven Lembark. Thanks!)
- Fixed speed regression with keys in the File backend.
- Introduced in 1.0019_002 to fix#50541
- Thanks, SPROUT!
- (RT #53575) Recursion failure in STORE (Thanks, SPROUT)
- Merged the rest of the fixes from 1.0015 and 1.0016
- Thanks to our new co-maintainer, SPROUT! :)
- Had to turn off singleton support in the File backend because the caching
was causing havoc with transactions. Turning on fatal warnings does give
apparently important information.
- Oh - forgot to mention that fatal warnings are now on in all files.
1.0019_002 Jan 05 22:30:00 2010 EST
(This is the second developer release for 1.0020.)
(This version is compatible with 1.0014)
- Fixed bug where attempting to store a value tied to something other than
DBM::Deep would leave the file flocked.
- Added support for DBD::SQLite
- Build.PL has been extended to support sqlite vs. mysql
- Storage::DBI now detects between the two DBDs
- (RT #51888) Applied POD patch (Thanks, FWIE!)
- (RT #44981) Added VERSION to ::Array, ::Engine, and ::Hash
- Removed extraneous slashes from POD links (Thanks ilmari!)
- (RT #50541) Fixed bug in clear() for hashes in the File backend.
- This has caused a regression in speed for clear() when clearing
large hashes using running with the File backend. ->clear() (on my
machine) now takes ( N / 40 ) ** (1.66) seconds. So, clearing 4000
keys (as is the test in t/03_bighash.t) would take ~2070 seconds.
- (RT #40782) Fixed bug when handling a key of '0' (Thanks Sterling!)
- (RT #48031) Fixed bug with localized $, (Thanks, SPROUT!)
1.0019_001 Dec 31 22:00:00 2009 EST
(This is the first developer release for 1.0020.)
(This version is compatible with 1.0014)
- DBM::Deep has been refactored to allow for multiple engines. There are two
engines built so far:
- File (the original engine)
- DBI (an engine based on DBI)
- The DBI engine has only been tested on MySQL and isn't transactional.
- InnoDB sucks horribly. When run in a sufficient isolation mode, it
creates deadlocks.
- A custom Build.PL has been written to allow for running tests under
CPAN.pm against the various engines.
- This also allows running the long tests under CPAN.pm
- This has meant a ton of refactoring. Hopefullly, this refactoring will
allow finding some of the niggly bugs more easily. Those tests have not
been enabled yet. That's the next developer release.
- Hopefully, this multi-engine support will allow deprecation of the file
format in the future.
pkgsrc changes:
- Add license definition
- Adjust dependency (Test::More 0.88 is satisfied by available lang/perl5)
Upstream changes:
1.0016 Feb 05 22:10:00 2010 PST
- (This version is compatible with 1.0015)
- New caveat in the docs explaining stale references (RT#42129)
- All included modules now have the same version in META.yml, so
the CPAN shell will no longer try to downgrade.
- Fixed bug in clear() for hashes (RT#50541)
Pkgsrc changes:
- Fix dependencies type
- Adjust dependencies
Upstream changes:
1.0015 Jan 25 22:05:00 2010 PST
- (This version is compatible with 1.0014)
- Fix deep recursion errors (RT#53575)
- Avoid leaving temp files lying around (RT#32462)
- (RT #48031) Fixed bug with localized $, (Thanks, SPROUT!)
- (RT #40782) Fixed bug when handling a key of '0' (Thanks Sterling!)
Pkgsrc changes:
o Change to Module::Build build method
Upstream changes:
1.0014 Jun 13 23:15:00 2008 EST
- (This version is compatible with 1.0013)
- Fix for RT#36781 (t/44 has an unrequired dependency)
- lock() has been aliased to lock_exclusive(). There is now
a lock_shared() method. The :flock constants are no longer
imported into the DBM::Deep namespace.
**** THIS IS AN API CHANGE ****
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
Collection.
The Perl 5 module DBM::Deep is a unique flat-file database module,
written in pure perl. True multi-level hash/array support (unlike
MLDBM, which is faked), hybrid OO / tie() interface, cross-platform
FTPable files, ACID transactions, and is quite fast. Can handle
millions of keys and unlimited levels without significant slow-down.
Written from the ground-up in pure perl -- this is NOT a wrapper
around a C-based DBM. Out-of-the-box compatibility with Unix, Mac
OS X and Windows.