Devel::Cover.pm history
Release 0.79 - 5th August 2011
- Test against 5.12.4, 5.14.1, 5.15.0 and 5.15.1.
- Fix inc_sub test failures dependant on whether JSON:PP was installed.
Release 0.78 - 17th May 2011
- Fix up test quoting to work with Windows too.
Release 0.77 - 15th May 2011
- Fix cover -test covering all the test files (Larry Leszczynski) (rt 65920).
- Add DEVEL_COVER_IO_OPTIONS environment variable.
- Sort runs by start time.
- Add digests to DB.
- Add cover -make option (Olivier Mengué) (rt 44906).
- Add digests to DB.
This should fix some problems related to losing coverage data when there are
duplicate files. This happens most usually when modules are sometimes loaded
from lib and sometimes from blib. (rt 14192, 32465, 45737).
- Add branch coverage for gcov (rt 30365).
Release 0.76 - 18th April 2011
- Move CHANGES file into root for search.cpan.org (rt 67541).
- Add top level version subroutine (requested by H.Merijn Brand).
- Add DEVEL_COVER_DB_FORMAT environment variable.
- Add advisory locking to database IO operations.
- Explain what to do if regexp_eval.t ever fails again (Florian Ragwitz).
- Remove leftovers from PERL_OBJECT (Florian Ragwitz).
- Recommend 5.8.8 and above - 5.8.7 is crashing so skip some tests there.
Release 0.75 - 17th April 2011
- Write database as JSON if JSON::PP is available.
Release 0.74 - 16th April 2011
- Test against 5.12.3 and code frozen 5.14.0 (unreleased).
- Fix tests to work with all releases of 5.13.x (rt 64210, 60901).
- Avoid race condition writing DB structure files (Nicholas Clark).
- Add debuglog method to Devel::Cover::DB::Structure (Nicholas Clark).
- Be more careful deleting DB structure files (Nicholas Clark).
- Get cover -test to honour the db passed in.
Release 0.73 - 2nd October 2010
- Tidy up Makefile.PL and META.yml.
- Get coverage working with Windows again.
Release 0.72 - 27th September 2010
- Teach cpancover how to work in parallel.
- Improve speed of check_file() (Goro Fuji).
- Fix errors with non-existent directories on Cygwin (Goro Fuji).
- Improve self coverage with new test.
- Fix tests to work with 5.13.5.
- New dependency on Test::Warn.
- New dependency on Parallel::Iterator for cpancover.
Release 0.71 - 10th September 2010
- Improve running of Devel::Cover on itself.
- Fix occasional parallel test failures.
- Test against 5.12.2.
Release 0.70 - 29th August 2010
- Get Devel::Cover working better on itself.
- Distribution should now pass on 5.13.* development releases.
Release 0.69 - 28th August 2010
- Correctly report on C<my $x = $y || return> and other shortcuts.
- Put end to end tests in t/e2e.
- Add test for regexp eval fail (Florian Ragwitz).
- Fix some warnings from strict compilers (Florian Ragwitz).
- Allow tests to run in parallel (Florian Ragwitz).
- Test against 5.13.* development releases.
- We now require Test::More to run the tests.
Release 0.68 - 5th August 2010
- Fix gcov2perl to work with large numbers (Thomas Dorner) (rt 45028).
- Fix "gcov -l" include files (Thomas Dorner) (rt 44864).
- Test against 5.12.1.
- Gross workaround for for regexp evals (Florian Ragwitz).
Release 0.67 - 8th May 2010
- Fix up the Makefile for dmake on Strawberry Perl (Curtis Jewell) (rt 50774).
Release 0.66 - 12th April 2010
- Move to faster method of collecting data. Could be up to twice as fast now.
- Add -replace_ops options to be able to revert to previous collection method.
- Test against 5.12.0 and update tests as necessary.
- Work better with non-existent databases.
- XS fixes related to overriding ops rather than replacing runops
(Florian Ragwitz).
- Don't chmod created directories (mkdir should suffice).
Release 0.65 - 8th August 2009
- Fix uninitialised value warning (reported by Andrew Billeb).
- Test against 5.8.9 and 5.10.1 (RC1).
- Correct deparsed conditional output in elsif conditions.
- Unset PERL5OPT when running tests.
Release 0.64 - 10th April 2008
- Build on Windows.
- Make "cover -test" work for Module::Build (Michael G Schwern) (rt 34263).
- Make "cover -test" cover .[ch] files (Michael G Schwern) (rt 34262).
- Make "cover -gcov" a valid option (Michael G Schwern) (rt 34261).
Release 0.63 - 16th November 2007
- require 5.006001 might stop CPAN testers trying to test with 5.005.
- store_return() should be a void function (H.Merijn Brand).
- Finish dor support.
- Add support for exec (Brandon Black).
- Tested against 5.10 (RC1).
Release 0.62 - 5th November 2007
- Add table sorting to Html_basic report (Nathan Haigh).
- Assume heredocs are constants.
- Don't add 0x200 to $^P ("file" names for evals) (Fix for Template::Declare).
- Add timer and alarm for cpancover.
- Add Report Date to basic html report.
- Quieten some warnings.
- Document cover -test.
- Get rid of any __DIE__and __WARN__ signals during the report.
- Don't try to get a digest for "-e".
- Tidy up filename normalisation.
- Be more explicit about what I mean when I call this alpha software.
- Add uncoverable comments.
- Don't complain about POSIX.pm (Erwan Lemonnier).
- Don't resolve pathnames of symbolic links (Stefan Becker).
- Spelling nits (James E Keenen).
Release 0.61 - 10th January 2007
- Fix some "ignored" errors due to multiple subs of the same name on the same
line (rt 14192).
- Display pod coverage with subroutine coverage in text report.
- Update golden output (tests were failing in 0.60).
Release 0.60 - 2nd January 2007
- Simplify get_key function and remove TODO item (Gisle Aas).
- Be careful with UNC paths on Windows (John LoVerso) (rt 24105).
- Only call HvSHAREKEYS_off if threading is enabled.
- s/unvailable/unavailable/ (Jim Cromie).
- Don't key on op_targ - it might change (rt 22701).
- Tidy up docs and error messages for reports (rt 21098).
- Better database validation.
- Don't delete invalid datbases (rt 16039).
- Tested against 5.9.5.
- Allow for new anonlist and anonhash ops (rt 24067).
- Use outputfile for both cover and cpancover.
- Add compilation report (Denis Howe).
Release 0.59 - 23rd August 2006
- Tidy up HTML, especially for cpancover.
- Allow coverage of subroutine statements in a different file (as with Mason)
(clkao).
- Bump refcount on subs to ensure they stay around for us to look at them
(yes, this is a hack).
Release 0.58 - 6th August 2006
- Be more clever about void context and so avoid SvROK hack.
- Document some bugs, limitations and requirements.
- HTML alignment fix (Sébastien Aperghis-Tramoni).
- CSS improvements for HTML reports (Sébastien Aperghis-Tramoni).
Release 0.57 - 3rd August 2006
- Report Pod::Coverage load failure (dom - happygiraffe.net) (rt 14425).
- Use Perl::Tidy as an alternative syntax highlighter
(Sébastien Aperghis-Tramoni).
- Lighten the style a little - make table cells only have right and bottom
borders, using the ones from the surrounding cells to form the grid
(Sébastien Aperghis-Tramoni).
- subs_only option to only show coverage for subs (Nicholas Clark).
Release 0.56 - 1st August 2006
- gcov2perl creates db if necessary (Steve Peters) (rt 13536).
- Properly merge identical files (Jeff Wren) (rt 12410).
- Allow line achors in html_basic (Mark Stosberg) (rt 13615).
- Right justify numerical tabular html output (Sébastien Aperghis-Tramoni).
- Work around ExtUtils::MakeMaker realclean bug (Florian Ragwitz) (rt 17324).
- Don't try to delete db if it isn't there.
- The following changes were made at the Devel::Cover hackathon, sponsored by
Best Practical.
- No longer create the temporary .version files (Leon Brocard).
- Document Module::Build's testcover (Leon Brocard).
- Add more detail about code coverage in docs (Leon Brocard).
- Make the HTML valid by moving comment past the <?xml> (Leon Brocard).
- Add syntax highlighting to HTML_basic if PPI::HTML is installed
(Leon Brocard).
- Refactored common code for calculate_summary across all Criterion classes
(Norman Nunley).
- Remove duplicated code paths between Branch and Condition (Norman Nunley).
- Don't call overload bool in condition coverage (clkao).
- Fix the XML comment for cpancover (Norman Nunley).
- Turn conditionals in void context into or2 conditions so that the value of
the RHS doesn't matter for coverage purposes.
- Add a tool to scan comments about uncoverable code and output .uncoverable
format to stdout (clkao).
- Add and update overload tests.
Release 0.55 - 22nd September 2005
- Add -gcov option to cover and make it default when using gcc.
- Remolve unused File::Find from cpancover.
- Document how to get XS coverage in gcov2perl.
- Improvements to SVK annotation (Chia-liang Kao).
Release 0.54 - 13th September 2005
- Make html_basic prettier.
- Fix pod coverage percentages.
- Fix integer <-> pointer conversion warnings (Robin Barker).
- Add more tests for sort bug fixed in 0.53 (Rob Kinyon).
- Handle || bless {}, "XXX" (reported by Marcel Grünauer).
- Add preliminary dor support (unfinished).
- Test against perl-5.8.7.
- Add check for Pod::Coverage::CountParents.
- Fix line number display problem in conditionals in Html_basic.
- Add eval_sub and eval3 tests.
- Add buildperl script.
- Add -report option to cpancover.
- Update cpancover CSS.
- Partial solution for structure problems including debugging code.
- Add outputfile option to Html_basic.
Release 0.53 - 17th April 2005
- Clean up database directories.
- Allow require File::Spec->catfile('t', 'common.pl'); (from an example by
Randy W. Sims).
- Fix core dump associated with sort subs and add test case supplied by
Leif Eriksen.
- Add extra options for coverage criteria.
- Allow pod coverage options to be specified.
- Update copyrights.
- Allow Test::Differences output to be displayed usefully.
- Test against perl-5.9.3.
Release 0.52 - 13th December 2004
- Fix thread locking bug (Ruslan Zakirov).
- Make valgrind happy.
- Fix gcov2perl (Steve Peters).
- Restore failure message to CLONE.
Release 0.51 - 29th November 2004
- Handle $y || undef.
- Small branch coverage fix.
- Improve reporting of uncoverable constructs in html reports.
- Test against perl-5.8.6.
- Recommend at least perl-5.8.2.
Release 0.50 - 25th October 2004
- Add -test option to cover.
- Fix missing coverage when calling a sub in an ignored module.
- Add module_ignore test.
- Add uncoverable options to cover.
Release 0.49 - 6th October 2004
- Compile on Win32 (and elsewhere) (Steve Hay).
Release 0.48 - 5th October 2004
- Working towards thread safety.
- Test against perl-5.8.5.
- Store perl version number in Inc.pm and complain if it doesn't match.
- Add annotation API and Random example.
- Display run information in text report.
- Remove POSIX path bodge which is now properly fixed.
- Update test results for new functionality.
- Add -select_re and -ignore_re options to cover.
- Sort out "ignoring extra subroutine" and friends.
- Add eval2 and eval_use tests.
- Ignore *.t by default with blib.
- Add beginnings of sort report.
- Bump up DB version.
- Fix problems with references in INC (which can't be handled).
- Fixes for mod_perl (Vadim O. Ustiansky).
Release 0.47 - 27th June 2004
- Provide subroutine coverage for empty subs - sub empty { }.
- Only override B::Deparse subs whilst using them and add deparse test.
Release 0.46 - 23rd June 2004
- Don't lose data merging DBs.
- Work with Safe.pm, by not covering it.
- Swap Profiling_op for Profiling_key to avoid accessing freed memory.
- Rename -file and -exclude options in cover to -select and -ignore.
- Fully cover conditions and branches when the condition calls a sub in
an ignored file.
Release 0.45 - 27th May 2004
- Cope with spaces in build path on Windows (Max Maischein).
- Allow Devel::Cover to be used under mod_perl (Philippe M. Chiasson).
- Handle $x ||= 1 and friends nicely, including subs and *foo{THING}.
- Allow uncoverable code to be specified. (Unfinished)
Release 0.44 - 18th May 2004
- Fix get_elapsed, although its result is not used yet.
- Recommend 5.8.1 as a minimum.
- Replace run Makefile target with text and html.
- Fix up gcov2perl.
- Fail gracefully when covering a threaded program.
- Add DEVEL_COVER_OPTIONS environment variable.
Release 0.43 - 2nd May 2004
- Add +ignore and +select options, and change meaning of -ignore and
-select options. This is an interface change.
- Ignore coverage on Devel::Cover's files by default.
- Cover INIT and END blocks more reliably.
- Fix 5.6 on Windows. Well, sort of.
- Add a message in Makefile.PL recommending against using Devel::Cover
on 5.6, especially under Windows.
Release 0.42 - 30th April 2004
- Add SYNOPSIS section to README.
- Resolve links for Devel::Cover::Inc (Dave Rolsky).
- Get things running on Windows again.
Release 0.41 - 29th April 2004
- Correct time coverage percentages.
- Collect data for BEGIN, CHECK, INIT and END blocks in the main
program, and INIT and END blocks in modules.
- Ensure our END block is always the last run.
- Don't clean up Pending_conditionals data.
- Untaint @INC after using blib.
- Be silent if called via HARNESS_PERL_SWITCHES.
- Test against perl-5.8.4.
- Store cwd from when each module was required in order to find them again.
- Refactor and tidy XS code.
- Get cpancover running again with the DB changes.
- Normalise filenames.
Release 0.40 - 24th March 2004
- Remove DB structure for unwanted files.
- Identify ops based on address and OP contents, except for op_ppaddr,
which we modify.
- Overhaul of coverage collection.
- Additions to tests.
Release 0.39 - 22nd March 2004
- Major database rework to store runs.
- Add Devel::Cover::DB::Structure.pm.
- Check for Test::Differences in Makefile.PL.
- Test with perl5.9.2.
- Skip fork test on MSWin32.
Release 0.38 - 12th March 2004
- Allow coverage summary title to be changed (David Wheeler).
- More care generating pod golden results.
- Small Devel::Cover::Op output fix.
- Handle "my $x = shift || []" and friends nicely.
- Add default_param test.
- Provide summary output to one decimal place.
- Update gcov2perl.
Release 0.37 - 10th March 2004
- Fix up pod test golden results.
- Add limitation documentation (Michael Carman).
Release 0.36 - 9th March 2004
- Add fork test.
- Remove debugging code from md5 test.
- Remove runs after merging - code was commented out for debugging.
- Don't merge runs during coverage collection.
- Delete database at start if not merging to cope with forking.
Release 0.35 - 8th March 2004
- Change Text2 to pick up version changes.
- Minor documentation updates.
- Minor changes to Devel::Cover::Op.
- Add outputfile option to HTML output (David Wheeler).
- Document -silent option to Devel::Cover.
- Add -silent option to cover (David Wheeler).
- Make Devel::Cover taint safe, or tolerant at least.
- Only add versioned golden results to tests that need them.
- Add trivial, md5 and module_no_inc tests.
- Increase flexibility of testing system to accomodate md5 test.
- Add mani, all_gold and all_test Makefile targets.
- Make all_versions skip non-existent platforms.
- Add DB option to make dump target.
- Remove dependencies on op_seq. (I removed it from bleadperl.) Use
op_targ instead.
- Collect some metadata.
- Documentation updates (Andy Lester).
- Document the mechanism by which files are selected for coverage.
Release 0.34 - 14th January 2004
- Fix various warnings and errors that had crept in whilst working on
dynamic subs.
Release 0.33 - 13th January 2004
- Get things working on paths with spaces in them.
- Documentation clarifications (Andy Lester).
- Fix coverage for simple if, elsif and unless conditionals.
- Add if test.
- Ensure runs are merged in the order they were created.
- Don't report multiple data from dynamically created subs.
- Add alias, alias1 and dynamic_subs tests.
- Fix and document Devel::Cover::Op.
- Redo subroutine coverage so anon subs are covered correctly in 5.6.x.
Release 0.32 - 4th January 2004
- Actually include do test.
- Create run concept in database.
- Belatedly remove check for Template.
- Add branch_return_sub test.
- Add finalise_conditions() to collect previously missed coverage.
- Fix incorrect coverage results associated with "and" conditions.
- Add all_versions utility script.
- Put /usr/bin/perl on all shebang lines.
Release 0.31 - 22nd December 2003
- Remove debugging output. Hmmm.
Release 0.30 - 22nd December 2003
- Get things working under Windows.
Release 0.29 - 19th December 2003
- Merge data from files with identical MD5 checksums (Arthur Bergman).
- Add do test.
- Handle $x || return.
- Keep cover -delete happy when there is no existing database.
- In cover, make -file a glob and add -exclude.
- Watch for coverage options being set in cover (PERL5OPT set?).
- Fix up html_basic and html_subtle.
- Make 5.6.x builds a bit quieter.
- Clean up time routines in XS code.
Release 0.28 - 1st December 2003
- Remove leading whitespace from HTML templates (Gabor Szabo).
- Remove obsolete indent option.
- Add MD5 checksums (Michael Carman).
- Add Html_minimal.pm (Michael Carman) (Obsoleting Gabor's patch before it was
released).
- Pass unknown cover options to the formatter and remove -option.
- Specify the output directory for HTML.
- Search up directory trees for modules.
Release 0.27 - 9th November 2003
- Behave sensibly if import() is not called, for example when MakeMaker does a
PREREQ_PM check.
- Use Storable for the database instead of Data::Dumper/eval (Michael Carman).
Release 0.26 - 12th October 2003
- Decline to output HTML results for conditions containing > 16 terms.
- Add titles to HTML output.
Release 0.25 - 10th October 2003
- Fix for perl 5.6.1. Cwd::abs_path($d) gets upset if $d doesn't exist.
- Start of some changes to cpancover HTML.
Release 0.24 - 10th October 2003
- Paths in Devel::Cover::Inc in single quotes for Windows platforms.
- Add -dir option and default it to cwd.
- Ignore test.pl in cpancover.
- Display pod coverage in cpancover.
Release 0.23 - 6th September 2003
- Report condition coverage for branches on the same line as the branch.
- Add subroutine coverage.
- Made "all" coverage value work and made it the default.
Release 0.22 - 2nd September 2003
- Rewrite runops function.
- First line of DESTROY blocks and overload subs not now skipped.
- Add some more tests.
Release 0.21 - 1st September 2003
- Add cpancover.
- Handle $x || next and friends.
- Add html_subtle and text2 backends (Michael Carman).
- Rename html backend to html_basic.
- Make html backend a wrapper around preferred style, currently html_subtle.
- Make time coverage a little more accurate. OK, a lot more accurate, it's at
least on the right line now, but I still wouldn't really trust it.
- Fix pod coverage which has been broken for a while.
- Don't collect branch coverage when not asked for.
- Provide golden results for different Perl versions.
- Change some B::Deparse logic to mirror changes in 5.8.1/5.10.
Release 0.20 - 5th October 2002
- Add break after default to satisfy IBM's xlC compiler on AIX.
- Get things working with threads again.
- make realclean is.
Release 0.19 - 29th September 2002
- Quieten uninitialised value warnings.
Release 0.18 - 28th September 2002
- Redo the way condition coverage is gathered - abuse op_ppaddr.
- Put or conditions the right way round.
- Allow for subclasses of coverage types.
- Add:
Devel::Cover::Condition_or_2.pm
Devel::Cover::Condition_or_3.pm
Devel::Cover::Condition_and_3.pm
Devel::Cover::Condition_xor_4.pm
- "use" all conditions in Criterion.pm, and nowhere else.
- Add support for xor, ||= and &&=.
Release 0.17 - 15th September 2002
- Call check_files() in report() to ensure we pick up anything added to the
symbol table while the program was running.
Release 0.16 - 9th September 2002
- Get rid of some uninitialised warnings.
- Inline the HTML templates.
- Rebless the op after blessing it as a COP.
- Make branch coverage line numbers more accurate.
Release 0.15 - 5th September 2002
- Reinstate coverage of subs in main:: which got lost somewhere (0.11?).
- Bug fixes for use of uninitialised values.
- Automatically generate tests. Well, their infrastructure anyway.
- Move Cover to lib/Devel/Cover to keep case insensitive filesystems happy.
- Remove -detail option. (It belongs to cover.)
- Work on op addresses and sequence numbers instead of just op addresses, to be
(almost) unique.
- Clean up subroutine location code.
- Fix -select to override anything else.
- Add condition coverage for && and || ops.
- Various changes in runops_cover to try to reduce runtime.
- Don't use runops_cover until CHECK time.
- Add merge, write and file options to cover.
- Add branch coverage.
- Abstract away cover backends.
- Use TT for HTML output.
Release 0.14 - 28th February 2002
- Add a workaround for an AUTOLOAD bug in bleadperl.
- Add gcov2perl program to convert gcov files to Devel::Cover databases.
- Get rid of // comments in xs file.
Release 0.13 - 14th October 2001
- Forgot to allow for lack of Pod::Coverage in Devel::Cover::Pod.pm.
Release 0.12 - 14th October 2001
- Improve pod coverage by considering private subs.
- Add time coverage, aka profiling.
- Add:
Devel::Cover::DB::File.pm
Devel::Cover::Time.pm
- Abstract summary and percentage calculations to appropriate classes.
Release 0.11 - 10th September 2001
- Add pod coverage based on Pod::Coverage.pm.
- Put a full API on the database.
- Add:
Devel::Cover::Criterion.pm
Devel::Cover::Statement.pm
Devel::Cover::Condition.pm
Devel::Cover::Pod.pm
- Some improvements to the cover program.
Release 0.10 - 27th August 2001
- Add cover program to generate reports.
Release 0.09 - 18th August 2001
- Beef up Devel::Cover::DB.
Release 0.08 - 18th August 2001
- Provide better handling of files to report on or ignore.
Makefile.PL generates Inc.pm containing default @INC.
added +inc, -ignore and -select.
Release 0.07 - 17th August 2001
- Add an API to Devel::Cover::DB.
Release 0.06 - 10th August 2001
- Rename Devel::Cover::Process to Devel::Cover::DB
- Make the database a directory.
- Add fix for eval in filename. (Arthur Bergman <arthur@contiller.se>)
- Add more tests and abstract away comparison subroutine.
- Clear @Inc if it is set explicitly.
- Trim filename length in detailed output.
Release 0.05 - 9th August 2001
- Make line numbers more accurate when nextstate has been optimised away.
- Get things working with ithreads.
Release 0.04 - 12th April 2001
- Include Devel::Cover::Op
- Add condition coverage (sort of).
Release 0.03 - 10th April 2001
- Add detailed output.
- Add -d option to turn it on.
Release 0.02 - 10th April 2001
- Add summary output.
- Add -S option to turn it off.
- Turn Devel::Cover::Process into a class.
Release 0.01 - Initial release - 9th April 2001