Devel::Cover.pm history

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