Devel::Cover history

1.50 - 10 June 2025
- Avoid some warnings during global destruction

1.49 - 18 May 2025
- Handle core Deparse changes for xor (Jim Keenan) (GH-355)
- Code tidying

1.48 - 11 May 2025
- Fix up args handling for reports (Mitch McCracken) (GH-354)
- Correct error message when launch is unavailable
- Improve perlcritic compliance

1.47 - 4 May 2025
- Improve defined-or handling (Ed J) (GH-352)
- Always set both HARNESS_PERL_SWITCHES and PERL5OPT (Ed J) (GH-351)
- Fix many spelling mistakes (Josh Soref) (GH-341)
- Improve criteria handling in cover script (Tom Wyant) (GH-347)
- Fix uninitialized value warning in `cover -write` (Josh Soref) (GH-339)

1.46 - 2 May 2025
 - Add tests for new any and all functions
 - Note testing against 5.40.2

1.45 - 1 May 2025
 - Add new versions and test against them
 - Fix things to work with 5.41.x and new ^^ operator
 - Add explicit test for ^^ operator
 - Move devel-cover-docker into this repository
 - Improve cpancover code

1.44 - 10 June 2024
 - Test against 5.40
 - Test with DBM::Deep on CI

1.43 - 8 June 2024
 - Bump cpancover version requirements to 5.38
 - Format cpancover and Cover::Collection
 - Format main documentation
 - Tidy dc script
 - Remove dzil's .build from distribution (Graham Knop) (GH-337)

1.42 - 26 April 2024
 - Improve tests

1.41 - 25 April 2024
 - Spelling, linting and formatting changes

1.40 - 30 April 2023
 - Note usage with dzil (Steve Rogerson) (GH-319)
 - Fix html_basic report (jkahrman) (GH-318)
 - Use CPAN::Meta (Slaven Rezić) (GH-314)
 - Make non-interactive output less noisy (jkahrman) (GH-312)
 - Avoid infinite recursion in Type::Tiny and other places (Ed J) (GH-307)
 - Add ignore_covered_err option (Tina Müller) (GH-323)
 - Handle empty hashes and arrays on condition RHS in 5.37.6 and later

1.39 - 29 April 2023
 - Remove dependency on B::Debug (Jim Keenan) (GH-289)
 - Raise minimum version to 5.12
 - Correct spelling of Pod::Coverage trustme parameter (Oliver Youle) (GH-302)
 - Fix annotations in html_basic report (Opera Wang) (GH-310)

1.38 - 5 June 2022
 - Improve documentation

1.37 - 5 June 2022
 - Fix Subroutine module docs (bkerin) (GH-262)
 - Use github actions instead of travis (Zakariyya Mughal) (GH-291)
 - Improve mkdir error messages (Felipe Gasper) (GH-296)
 - Remove asterisk from gcov count (Zakariyya Mughal) (GH-294)
 - Test against 5.36.0
 - Avoid warnings from check_files (Nicolas R) (GH-292)
 - Support __SUB__ (Graham Knop) (GH-290, GH-243, GH-285)
 - Support uncoverable count ranges (Tina Müller) (GH-288)
 - Improve gcov support for XS code (Ed J) (GH-280)
 - Allow overriding of HTML code highlighting (Jesús Alonso Abad) (GH-271)
 - Improve contributing docs

1.36 - 19 May 2020
 - Fix pod error
 - Quieten perltidy syntax highlighting errors
 - Fix up minimum perl version (Dick Franks) (GH-268)
 - Fix passing full path for cover DB (GH-267)

1.35 - 17 May 2020
 - Replace "use vars" with "our" (James Raspass) (GH-255)
 - Remove tray db file from release
 - Don't chdir when given a -dir flag (Dave Rolsky) (GH-253)
 - Manage code references in @INC (Slaven Rezić) (GH-249, GH-250)

1.34 - 16 May 2020
 - Minimum supported version is now 5.10.0 (Karen Etheridge) (GH-226)
 - Support 5.32 by accommodating signature changes (GH-260)

1.33 - 26 April 2019
 - Fix pod error (Mohammad S Anwar) (GH-240)
 - Work with cperl where class is a keyword (Reini Urban) (GH-238)
 - Restore correct behaviour on merging DBs (Daniel Egeberg) (GH-232)
 - Fix gcov output being on incorrect lines
 - Fix cover -test with Build.PL (Dagfinn Ilmari Mannsåker) (GH-241)

1.32 - 25 April 2019
 - Test up to 5.26.3, 5.28.3 and  5.29.10
 - Get dev environment working on macOS
 - Fix up tests with recent Math::BigInt versions (Ed J) (GH-219)
 - Add progress text when processing coverage (Christian Walde) (GH-221)
 - Optionally use Term::Size (Paul "LeoNerd" Evans) (GH-228)
 - Fix indentation in pod (Graham Knop) (GH-229)
 - Fix warn precedence (Alexandr Evstigneev) (GH-231)

1.31 - 18 September 2018
 - Add queue for cpancover (Joel Berger)
 - Handle circular refs (Ed J) (GH-164, GH-216)
 - Allow for $DEVEL_COVER_TEST_OPTS to be unset (Dick Franks) (GH-217)

1.30 - 14 July 2018
 - Fix incorrect merging of structure (Emiliya Boyadjieva) (GH-199)
 - Fix up compiler warnings (Jens Rehsack) (GH-211)
 - Test against 5.28.0, 5.29.0 and some other versions
 - Compress and then delete old cpancover data
 - Clarify some docs around ignore (Olaf Alders) (GH-207)
 - Run coverage on cpp and hpp files (Jacques Germishuys) (GH-203)
 - Add docs for coverage of modules on command line (Slaven Rezić) (GH-204)
 - Ignore .AppleDouble files (David Cantrell) (GH-200)

1.29 - 15 October 2017
 - Lock using read and append mode (Stephan Loyd) (GH-196)
 - Clean up lock files when running cover command

1.28 - 5 October 2017
 - Fix typo in docs (Gregor Herrmann) (GH-195)
 - Fix up options to cover program (GH-194)

1.27 - 20 September 2017
 - Test against 5.27.3
 - Add dependency on B::Debug (Ryan Voots) (GH-189)
 - Remove obsolete dev and cpancover code
 - Manage multiple ignore and select options (Sullivan Beck) (GH-163)
 - Write top-level html last for better sorting (Christian Walde) (GH-158)
 - Restore XS coverage in cpancover (H.Merijn Brand) (GH-188)
 - Allow cpancover to run fully from local directory
 - Handle missing start times in runs (Chad Granum) (GH-190)
 - Add test for string eval (Sebastian Paaske Tørholm) (GH-145)
 - Improve uncoverable tests and docs (Kevin Brannen) (GH-167)
 - The cover program accepts multiple reports (Eden Hochbaum) (GH-172)
 - Add -prefer_lib option to cover script (Kent Fredric) (GH-91)
 - Fix low-level file locking (Graham Knop) (GH-90)

1.26 - 24 July 2017
 - Untaint $DEVEL_COVER_OPTIONS (Alexey Sokolov) (GH-187)
 - Add loose_perms option (Todd Rinaldo) (GH-185)
 - Set EXTENDED_TESTING during cpancover runs
 - Improve version parsing for cpancover (Helmut Wollmersdorfer) (GH-124)
 - Improve cpancover code and documentation

1.25 - 11 May 2017
 - Fix C code to work with MSVC (Marc-Philip) (GH-177)
 - Fix cover command using Module::Build on Win32 (sago35) (GH-160)
 - Add file and line info to keep ops unique (Niko Tyni) (GH-143)
 - Report coverage for all declarations (Heinz Knutzen) (GH-166)
 - Fix spelling mistakes (Gregor Herrmann) (GH-171)
 - Fix condition coverage for complex conditions (Heinz Knutzen) (GH-165)
 - Use JSON::MaybeXS for sppen and flexibility (Olivier Mengué) (GH-139)
 - Add CONTRIBUTING file (Gabor Szabó) (GH-100)

1.24 - 18 April 2017
 - Work with 5.25.x (op_sibling) (Dan Collins, Matthew Horsfall) (GH-162)
 - Perl versions below 5.10.0 are now unsupported

1.23 - 24 April 2016
 - Enhance html coverage popups (Haydn Newport) (GH-156)
 - Add cpancover about page (Guillermo O. Freschi) (GH-146)
 - Perl versions below 5.8.1 are now unsupported

1.22 - 9 April 2016
 - Test against 5.20.3, 5.23.1 - 5.23.9, 5.22.1
 - Improve uncoverable docs (Alex Balhatchet) (GH-148)
 - Improve cpancover

1.21 - 20 September 2015
 - Test more versions on travis
 - Fix things up with cpancover for new docker release
 - Fix problem under 5.22 (Dick Franks) (GH-140)

1.20 - 6 July 2015
 - Document setting PerlSwitches for mod_perl (jpsalvesen) (GH-128)

1.19 - 5 July 2015
 - Get things working with 5.22.0
 - Test against 5.23.0
 - Remove dependency on Test::Warn

1.18 - 6 April 2015
 - Remove dependency on CGI (use HTML::Entities instead) (Lee Johnson)
 - Fix a use of the wrong type of null constant (Zefram) (RT-103102)
 - Link to next uncovered statement in html_basic (H.Merijn Brand) (GH-112)
 - Add "provides" to metadata (Ivan Wills) (GH-119)

1.17 - 20 September 2014
 - Get cpancover to release quality
 - Add IRC link to META
 - Test against 5.20.1, 5.21.1, 5.21.2, 5.21.3 and 5.21.4
 - Officially support 5.20.1

1.16 - 17 August 2014
 - Fix segfault in 5.20.0
 - Improvements to cpancover
 - Fix vim report to work with recent versions (cono) (GH-94)
 - Ignore vim swap files in git (Gábor Szabó) (GH-95)
 - Improve help for cover command (Gábor Szabó) (GH-96)

1.15 - 1 June 2014
 - Allow -coverage default,-pod option to cover (David Cantrell) (GH-89)
 - Get cpancover coverage in docker containers
 - Add CGI.pm as a prerequisite
 - Test against 5.20.0 and 5.21.0
 - Add longer delay in tests to try to appease *BSD

1.14 - 2 May 2014
 - Fix test failures on OpenBSD, NetBSD and Windows

1.13 - 28 April 2014
 - Test against 5.19.11
 - Fix "use 5.xyz;" on pre 5.10 perls (GH-87)
 - Round percentages down in summary and reports (also fixes Windows tests)

1.12 - 17 April 2014
 - Fix test failure on OS X, FreeBSD and HPUX (thanks H.Merijn Brand)

1.11 - 13 April 2014
 - Tests should pass when all run in parallel (Kent Fredric) (GH-69)
 - Fix problems with using Sereal as DB format

1.10 - 6 April 2014
 - Test against 5.19.10
 - Add Sereal backend and use it if available
 - Support spaces in DB path (Keith Wissing) (GH-81)
 - Test against 5.8 on Travis (Slaven Rezić) (GH-76)
 - HTML cleanups (H.Merijn Brand)
 - Fix deep recursion with use overload (Matthew Horsfall) (GH-78, GH-79)
 - Improve testing process

1.09 - 15 March 2014
 - Add Contributors file
 - Test against 5.19.4 - 5.19.9
 - Officially support 5.18.2
 - Fix shortcircuiting conditional operators for blead changes
   (Matthew Horsfall) (RT-90591, GH-75, GH-80)
 - Fix tab expansion in HTML report (H.Merijn Brand) (GH-83)

1.08 - 24 August 2013
 - Don't test against 5.17.x development releases
 - Don't test against 5.19.2 and 5.19.3 which have a bug which causes tests to
   fail
 - Perl 5.18 is more picky about POD encodings (Gregor Herrmann) (RT-88027)
 - Numerous typo fixes (David Steinbrunner) (GH-67)

1.07 - 22 August 2013
 - Improve -coverage options, fix -ignore_re for .gcov files (Steve Sanbeg)
   (GH-53)
 - Work around B::CV::GV regression in 5.18.1
 - Officially support 5.18.1
 - Test against 5.19.1, 5.19.2 and 5.19.3

1.06 - 17 July 2013
 - More DEVEL_COVER_NO_TESTS changes for p5cover

1.05 - 17 July 2013
 - Quieten some deparse warnings
 - Fix errors in write_csv (Jim Keenan) (GH-64)
 - Fix error in -inc/+inc docs and pod formatting (Olaf Alders) (GH-65)
 - Add DEVEL_COVER_NO_TESTS option to not run any tests during p5cover

1.04 - 1 June 2013
 - Fix return code from cover (Kan Fushihara) (GH-61)
 - Fix pod coverage for multiple packages in a file. (RT-34888)
 - Speed improvements

1.03 - 20 May 2013
 - Fixes for correct operation with 5.17.11, 5.18.0 and 5.19.0

1.02 - 28 April 2013
 - Make -silent even quieter (Sergiy Borodych) (GH-49)
 - mod_perl2 on Debian sets $^X to apache2 (Lasse Makholm) (GH-47)
 - Add csv file for use with metacpan (Dinis Rebolo) (GH-56)
 - cover -test exists with the status of the underlying test run (Kan Fushihara)
   (GH-57, GH-58)
 - Quieten a warning (Jim Keenan) (GH-59)

1.01 - 30 March 2013
 - Test against 5.14.4, 5.16.3, 5.17.8, 5.17.9 and 5.17.10
 - Ignore PERL5OPT during tests.  And other make targets. (RT-43833)
 - &&=, ||= and //= operators now require RHS to be true and false
 - Fix some "uninitialized value" warnings

1.00 - 10 February 2013
 - Fix segv in constant folding of xor ops (GH-40)
 - Fix various problems running Devel::Cover under tainting (GH-41)
 - Add JavaScript to filter results in html_basic (David Cantrell) (GH-42)
   Use -norestrict option to keep previous behaviour
 - Document ability to mark code as uncoverable (GH-45)

0.99 - 31 December 2012
 - Improve documentation (Olaf Alders) (GH-34)
 - Thank Bytemark for the cpancover server
 - Test against 5.17.7
 - Provide coverage for subs removed from the symbol table (RT-13207)

0.98 - 25 November 2012
 - Fix links on html_basic report
 - Fix setting Inc under taint mode (Guillaume Aubert) (GH-26, GH-33)
 - Test against 5.17.6
 - Improve warnings from Devel::Cover and reduce duplicates
 - Make cover -test -nodelete work
 - Run cpancover with 5.16.2
 - Prefer bugs on github rather than RT

0.97 - 10 November 2012
 - Filter paths contained in CWD out of @Inc (Christian Walde) (GH-32)
 - Test against 5.12.5, 5.14.3, 5.16.2, and 5.17.5
 - Improve parallelism for cpancover

0.96 - 24 September 2012
 - JSON:PP should have been JSON::PP (Paul Hirst) (GH-28)
 - Correct when some new tests should be skipped
 - Quieten some debugging output
 - Fix infinite loop during global destruction (GH-29)

0.95 - 22 September 2012
 - Fix loss of condition coverage data when first operand calls into ignored
   file (Celogeek, Christian Walde) (RT-63090, GH-15, GH-20)
 - Fix similar problem with branch coverage (Robert Freimuth) (RT-72027)
 - More similar problems (Brian Cassidy, Florian Ragwitz, Heikki J Laaksonen)
   (RT-63698)
 - Test against 5.17.4

0.94 - 18 September 2012
 - Officially support 5.16.1
 - Manage mod_perl2 setting $^X to httpd
 - Make changes to support 5.17.3

0.93 - 4 August 2012
 - Fix up start and finish times in text report
 - Make summary cover report respect options given
 - Make vim report respect specified criteria (RT-38258)
 - Only collect time and condition coverage when requested
 - Fix some "ignoring extra $criterion" errors
 - Don't stop reports at __END__ with AutoLoader
 - Add perl version and OS to html_basic
 - Make html_minimal summary more like html_basic
 - Time coverage is no use in the vim report
 - Keep descriptions to a single line

0.92 - 17 July 2012
 - Fix inc directories when working with local::lib (Olivier Mengué) (GH-25)

0.91 - 15th July 2012
 - Generate inc directories at runtime (RT-68991, RT-76528, RT-66881, RT-37349)
 - Get the tests running again on Windows

0.90 - 13th July 2012
 - Fix cover -test on Windows (Christian Walde) (GH-24, RT-75565)
 - Better document coverage options (GH-23)
 - Run in directories containing spaces (RT-62423)
 - Add moose_constraint test (RT-57173)

0.89 - 15th June 2012
 - Fix POD syntax error (gregor herrmann <gregoa@debian.org>) (RT-77599)
 - Handle RE metachars in build directory (RT-75633, RT-77598)
     (dcoupal@cisco.com & Niko Tyni <ntyni@debian.org>)
 - Return to starting directory after cover report (John Lightsey) (RT-61515)
 - Relax permissions on DB directories (GH-22)

0.88 - 8th June 2012
 - Add -launch option to open report in appropriate viewer (Stephen Thirlwall)
 - Move ignored filename list into DB module (RT-77163, GH-12)
 - Don't complain about Mouse accessors (RT-71680)
 - Turn off $^W when calling B::Deparse (fixes PERLRT-113464)
 - Update cpancover

0.87 - 21st May 2012
 - Major documentation overhaul (Pau Amma)
 - Cleanup Data::Dumper usage (localise settings) (Olivier Mengué) (RT-76531)
 - Ignore more generated filenames - Moose and Template Toolkit
 - Improve results for chained logical operators
 - Officially support 5.16.0

0.86 - 9th April 2012
 - Add all coverage criteria to the Vim report

0.85 - 1st April 2012
 - Add customisable thresholds to HTML reports (Xavier Caron)
 - Improve Vim report

0.84 - 31th March 2012
 - Add Vim report (based on discussion with Tatsuhiko Miyagawa)

0.83 - 30th March 2012
 - Prefer JSON::XS for faster operation (Audrey Tang (唐鳳))
 - Rework testing framework (Xavier Caron)

0.82 - 19th March 2012
 - Do not distribute MYMETA.json (Olivier Mengué) (RT-75883)

0.81 - 18th March 2012
 - Fix up dzil release process

0.80 - 18th March 2012
 - Don't be so noisy with Moose code
 - Move to Dist:Zilla (Christian Walde)
 - Test against 5.14.2 and 5.15.2 - 5.15.8
 - Select gcov2perl from the same directory as cover
 - Print warnings to STDERR so $SIG{__WARN__} isn't called (Christian Walde)
 - Manage coverage reporting errors before an exec (Daisuke Maki)
 - Don't run fork tests on Windows (Christian Walde)
 - Add more documentation about cover --test (Kirk Kimmel)
 - Remove race conditions around mkdir
 - Add travis config file
 - Add word "Warning" to MD5 digest message

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 dependent on whether JSON:PP was installed

0.78 - 17th May 2011
 - Fix up test quoting to work with Windows too

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, RT-32465, RT-45737)
 - Add branch coverage for gcov (RT-30365)

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

0.75 - 17th April 2011
 - Write database as JSON if JSON::PP is available

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, RT-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

0.73 - 2nd October 2010
 - Tidy up Makefile.PL and META.yml
 - Get coverage working with Windows again

0.72 - 27th September 2010
 - Teach cpancover how to work in parallel
 - Improve speed of check_file() (Goro Fuji)
 - Fix errors with nonexistent 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

0.71 - 10th September 2010
 - Improve running of Devel::Cover on itself
 - Fix occasional parallel test failures
 - Test against 5.12.2

0.70 - 29th August 2010
 - Get Devel::Cover working better on itself
 - Distribution should now pass on 5.13.* development releases

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

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 regexp evals (Florian Ragwitz)

0.67 - 8th May 2010
 - Fix up the Makefile for dmake on Strawberry Perl (Curtis Jewell) (RT-50774)

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 nonexistent databases
 - XS fixes related to overriding ops rather than replacing runops
   (Florian Ragwitz)
 - Don't chmod created directories (mkdir should suffice)

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

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)

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)

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 Keenan)

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)

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
 - Fix spelling of "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 databases (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)

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)

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)

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)

0.56 - 1st August 2006
 - gcov2perl creates db if necessary (Steve Peters) (RT-13536)
 - Properly merge identical files (Jeff Wren) (RT-12410)
 - Allow line anchors 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

0.55 - 22nd September 2005
 - Add -gcov option to cover and make it default when using gcc
 - Remove unused File::Find from cpancover
 - Document how to get XS coverage in gcov2perl
 - Improvements to SVK annotation (Chia-liang Kao)

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

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

0.52 - 13th December 2004
 - Fix thread locking bug (Ruslan Zakirov)
 - Make valgrind happy
 - Fix gcov2perl (Steve Peters)
 - Restore failure message to CLONE

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

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

0.49 - 6th October 2004
 - Compile on Win32 (and elsewhere) (Steve Hay)

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)

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

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

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)

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

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

0.42 - 30th April 2004
 - Add SYNOPSIS section to README
 - Resolve links for Devel::Cover::Inc (Dave Rolsky)
 - Get things running on Windows again

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

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

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

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

0.37 - 10th March 2004
 - Fix up pod test golden results
 - Add limitation documentation (Michael Carman)

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

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 accommodate md5 test
 - Add mani, all_gold and all_test Makefile targets
 - Make all_versions skip nonexistent 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

0.34 - 14th January 2004
 - Fix various warnings and errors that had crept in whilst working on
   dynamic subs

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

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

0.31 - 22nd December 2003
 - Remove debugging output.  Hmmm

0.30 - 22nd December 2003
 - Get things working under Windows

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

0.28 - 1st December 2003
 - Remove leading whitespace from HTML templates (Gabor Szabó)
 - 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

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)

0.26 - 12th October 2003
 - Decline to output HTML results for conditions containing > 16 terms
 - Add titles to HTML output

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

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

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

0.22 - 2nd September 2003
 - Rewrite runops function
     - First line of DESTROY blocks and overload subs not now skipped
 - Add some more tests

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

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

0.19 - 29th September 2002
 - Quieten uninitialised value warnings

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 &&=

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

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

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

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

0.13 - 14th October 2001
 - Forgot to allow for lack of Pod::Coverage in Devel::Cover::Pod.pm

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

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

0.10 - 27th August 2001
 - Add cover program to generate reports

0.09 - 18th August 2001
 - Beef up Devel::Cover::DB

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

0.07 - 17th August 2001
 - Add an API to Devel::Cover::DB

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

0.05 - 9th August 2001
 - Make line numbers more accurate when nextstate has been optimised away
 - Get things working with ithreads

0.04 - 12th April 2001
 - Include Devel::Cover::Op
 - Add condition coverage (sort of)

0.03 - 10th April 2001
 - Add detailed output
 - Add -d option to turn it on

0.02 - 10th April 2001
 - Add summary output
 - Add -S option to turn it off
 - Turn Devel::Cover::Process into a class

0.01 - Initial release - 9th April 2001
