Half a dozen releases of YAML::Tiny has seen most of the rough edges removed and now my tinderbox run only fails 119 of 36,000 tests.
Less than a third of these are YAML::Tiny failing, most are YAML.pm or YAML::Syck comparison tests crashing/erroring when parsing the META.yaml files (i.e. it's them breaking, not me)
So now YAML::Tiny can tick the following boxes:
* A single pure Perl
* 5.004 compatible (I think) with no non-core dependencies
* 100% leak free
* Almost as little memory overhead as YAML::Syck
* Almost as fast as YAML::Syck
* Much more accurate than YAML::Syck
* Much faster and lighter than YAML.pm
* Slightly more accurate than YAML.pm (on the spec subset)
* The most likely module to parse the META.yaml files on CPAN
As far as I can tell, the only META.yaml cases that YAML::Tiny CAN'T handle now are ones where Module::Build has made the META.yaml file look like this.
And I assume these cases will slowly go away as those authors do point releases with newer versions of Module::Build.
So things are looking pretty good for committing configure_depends: to the META.yaml spec and upgrading the CPAN clients to always use it, because we have a nice small embeddable YAML parser.
Actually, seeing as YAML::Tiny has BOTH a YAML parser and generator in it, I'm tempted to go further and do seperate YAML::Tiny::Parser to hold an even more stripped down version that just has the minumum amount of code necesary to parse (discarding the object structure and generation).
I'm going to start cleaning up YAML::Tiny for a stable release now, basically just error handling tweaks and a testing on more environments (anyone got 5.005 and 5.004 boxes handy?).
If anyone wants to try out the tinderboxing for themselves, it's in my repository at http://svn.ali.as/cpan/concept/cpan-yaml-tiny/