The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.105

Fix for perl 5.010.1 - the code to check the version and act correctly
on regexp refs treated .1 as behaving like 5.011.

0.104

Document behaviour of cmp_bag when a non ARRAY-ref argument is passed
to it. Explicity test for this a die with a useful message.

Document and export cmp_details and deep_diag, thanks to Tom Hukins
for the patch.

0.103

Detect whether isa() is being called with 1 or 2 arguments and
dispatch to the correct function. This is hacky but fixes the problem
of clashing with UNIVERSAL::isa().

0.102

Behave well when a code comparator doesn't give diagnostics. Thanks to
Alex Kapranoff.

0.101

Fix an overloading problem with All and Any. Thanks to Kostas
Chatzikokolakis for reporting the bug and especially for explaining
how to fix it :)

Added a nasty hack to smooth over a problem in Test::Tester.

0.100

Apply patch from Andreas Koenig (ANDK) to cope with Perl 5.11's new
REGEXP objects.

0.099

Don't explode on perl's that don't have weakrefs. If they're not
available, just don't weaken the refs. It means refs can be cached for
longer than desirable but it's better than explodiing.

This doesn't fix all of te problems with perl 5.005 but I'm pushing it
out because the previous version number upsets CPAN.pm.

0.098

Cleaned up Test::Deep::NoTest by making it call Test::Deep's import,
that way it will always be in sync for exports. Also added some POD
docs.

Added notest_extra.t to check that things are correctly exported and
working.

Add cmp_details but left it undocumented. It manages localising the
stack etc. Factored eq_deeply and cmp_deeply through that. This meant
adding an icky hack into deep_diag. I should clean that whole thing up.

Remove $name from params of eq_deeply, in code and docs, it was unused.

0.097

Fixed doc typo for re().

Fix diagnostics for code(), it was always printing undef instead of
the got value.

0.096

%WrapCache was keeping references to external data. It's now local()ised at the start of a comparison just like the other caches (why I didn't do that when I added it, I don't know). Thanks to Matthijs Bomhoff for reporting the problem.

0.095

Docs and code didn't match, useclass was actually requireclass, available as
both now

0.094

Changed Set and Bag to no longer issue warnings when undefs are
present. Needed to make the sort and the diagnotics
undef-aware. Thanks to Colin Kuskie for pointing this out.

Added tests for this.

0.093

Fixed inifinte recursion when adding comparators into bags. That whole area is unpleasant - conceptually as well as implementation-wise. Comparators no longer inherit a compare method, so we only call the specialised compare if it exists, otherwise we just do normal deep comparison.

Removed a debugging print.

0.092

Got the if backwards for loading Test::Builder (again for NoTest - simples changes...). No ill effects for most people as they load it via something else any but ApacheSession for example doesn't.

Now tetsing for lack of testing framework.

0.091

Forgot to export lots of stuff via NoTest

0.090

Added Test::Builder::NoTest so that eq_deeply can be use entirely without
Test::Builder.

0.089

Wasn't corrrectly setting $Test::Builder::Level in cmp_bag, cmp_set and
cmp_methods, this caused test error messages to include the wrong line/file.

Whitespace changes.

0.088

Slight twiddle to silence warnings from the new Test::Tester thanks to
SSORICHE

0.087

cmp_methods, cmp_bag and cmp_set weren't passing on the test name. Thanks to
Alex Kapranoff for the patch.

0.086

Add $tolerance to Number so now you can check that 2 numbers are equal, give
or take a little bit.

Autogenerating most of the convenience constructor routines, deleted nearly
200 lines of boilerplate. Why didn't I think of that before?

Almost every test script had the same lines at the beginning. These are now
in t/std.pm, another 200 lines of code (well 50% whitespace) gone. Happy.

Added use warnings to the test scripts, didn't make a difference.

Added inspection of strings captured from a regex and fixed up some re() doc
errors.

0.085

When a hash or array value or amethod does not exist and the expected value
was a reference, the diagnostics were wrong because it headed into Reftype
tests. Now Test::Deep::descend catches "Does not exist" early on.

Added listmethods()

0.084

Added subhashof and superhashof, restructured various Hash modules to handle
sub and super.

Got rid of unexported hash_elements from Test::Deep.

Fixed a problem with circular set comparisons.

0.083

The cache is more efficient, using a single layer and weak refs, also
previously it could be fooled by reused addresses for objects (this is not
just theoretical).

Now Test::Deep::descend is responsible for pushing onto the stack as well as
pulling, this means most tests don't need to think about the stack at all

For the stack stuff, had to create lots of "only" modules these are tests
that should never be called on their own as they make assumptions about the
validity of the data, they are used as subtests inside others

cleaned up lots of copy and paste Data::Dumper and confess and various other
bits and pieces

Test::Deep::Cmp (and it's descendants) autopush themselves onto the stack of
any Test::Deep::* that uses them. Cuts even more cruft.

Now everything uses the compare in Test::Deep::Cmp which just does a deep
comparison. This is not perfect for All and Set but it's as good as what was
happeneing before now.

Wrapping unknown reftypes as shallow

0.082

Got rid of silly use lib in the tests, shouldn't have been in public

Added dependency on Test::More

Moved from type =>, vals => to exp =>, got => in stack entries

Individual descend()s no longer pop their data from the stack, that's taken
care of by Test::Deep::descend. This made things simpler in all the
comparisons.

Added support for sub/super se/bag comparisons, thanks to Boris Sukholitko
<bobatonhu@yahoo.co.uk>

Added scalarref.t

0.081

Got rid of struct mode for num()

Large internal changes, now using a stack object rather than just an array.
This handles rendering the stack.

The comparisons handle rendering the got and expected values now.

num() and str() numify/stringify before comparing, this makes overload of ==
or eq irrelevant. This also prevents problems with the diag when something
stringifies differently to it's numificiation or differently each time you
look.

fixed diag of overloaded refs to display the ref value, not the overloaded
value

nicer diags for booleans

0.08

Slight doc fix

Added coderef calling as a test

0.07

Fixed number.t to skip strict test when if Scalar::Util is not right

Major improvement of docs. No longer reads like it was written by a drunken
badger.

0.06

Overhaul of Test::Deep::descend, native types are now wrapped up in a
Test::Deep:Cmp object, moves lots of logic out of descend

Added ArrayLength, HashKeys, RefType, and Blessed comparisons

All tests now use Test::NoWarnings

Broke out descend tests into hash.t, array, regexpref.t, probably should
break out more

Updated version of Scalar::Util dependency, thanks to Steve Purkis

0.05

No longer using overload::StrVal() for looking behind overloads as it's
broken for Regexp refs in some versions of Perl.

0.04

Documented bool and included the files!!

0.03

cmp_deeply(undef, \"") calls overload::StrVal(undef)

added bool test

using Scalar::Util to get reftype and blessed class

0.02

Added prereq to Makefile.PL

0.01

First release