The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Module-CPANTS-Analyse

1.02 2023-09-10
  - Treat use v5.36 as use_warnings
  - Skip some of the manifest test if symlink is not available
  - Improve prereq sorting
  - Improve pod detection
  - Improve script detection
  - Use Parse::Distname to get a little more information from a distribution name
  - Dedupe possible licences
  - Add Object::Pad as use strict equivalent (Wesley Schwengle)
  - Fix has_license_in_source_file for distributions that contain only a
    script under bin or scripts (Sven Kirmess)

1.01 2019-08-08
  - Fixed not to set an error message when extracted nicely
    (spotted by Martin Becker++)
  - Fixed to restore mtime of MANIFEST.SKIP if it is modified by
    #include_default
  - Improved primary module detection
  - Fixed to catch CPAN::Meta::YAML's warnings (of duplicate keys)
  - Improved test_prereqs_match to handle t::lib::Util, and ignore
    files that contain but don't end with .t
  - Fixed to store multiple licenses in META files

1.00 2019-02-03
  ** BACKWARD INCOMPATIBLE CHANGE **
  - Module::CPANTS::Kwalitee::Uses now uses a different prereq scanner
    (Perl::PrereqScanner::NotQuiteLite).
  - Added new kwalitee metrics:
    no_maniskip_error, no_missing_files_in_provides, no_files_to_be_skipped
  - Delayed plugin loading

0.99 2019-01-15
  - requires Module::Find

0.98 2019-01-15
  ** BACKWARD INCOMPATIBLE (INTERNAL) CHANGE **
  - Module::CPANTS::Kwalitee now uses Module::Find to find
    Kwalitee modules (instead of Module::Pluggable that unconditonally
    spits a deprecation warning). You usually don't need to care
    but if you have your custom Kwalitee plugin loader (such as
    Module::CPANTS::SiteKwalitee), you need to change it.
    Sorry for the inconvenience.

  - Allow dash and dot in script name in the NAME section for
    non-pm, non-pod files

0.97_11 2018-04-22
  - no changes; for testing

0.97_10 2018-04-22
  - no changes; for testing

0.97_09 2018-04-22
  - no changes; for testing

0.97_08 2018-04-22
  - no changes; for testing

0.97_07 2018-04-22
  - no changes; for testing

0.97_06 2018-04-22
  - no changes; for testing

0.97_05 2018-04-22
  - no changes; for testing

0.97_04 2018-04-21
  - Skip everything in MANIFEST.SKIP while testing symlinks (GH#33, Tux++)

0.97_03 2016-09-01
  - Not to check use_strict/use_warnings for Perl 6 modules in a
    Perl 5 distribution (Stefan Seifert++)
  - Worked around a File::Find::Object issue (reported by dolmen)
  - Fixed dynamic_config handling (David Golden++)
  - Improved LICENSE file detection (RT#114247)

0.97_02 2016-04-27
  - Requires List::Util 1.33

0.97_01 2016-04-24
  - Added has_meta_json metric (RT#107885)
  - Accept a few more README extensions (mrcaron)
  - Accept two more Moose modules as strict equivalents
  - Various micro optimization for performance
  - Dropped a few dependencies
  - Doc patch from brac-mac and joenio

0.96 2014-11-24
  - Added an import option to load extra Kwalitee plugins.
  - Fixed RT#100512 - has_readme now accepts README.pod as well
  - Improved no_abstract_stub_in_pod to detect "The great new"
    as a boilerplate
  - Switched to File::Find::Object

0.95 2014-09-26
  - Switched to Test::FailWarnings to make CPAN testers happier

0.94 2014-09-26
  - Fixed RT#99141 - use_strict metric does not recognize
    `use v5.14` syntax (ishigaki)

0.93_04 2014-09-05
  - Accept COPYING as a license file
  - Take included module (under inc/) into consideration while
    analyzing prereq_matches_use
  - Changed most of the META.yml metrics to pass if META.yml doesn't
    exist

0.93_03 2014-08-13
  - Added meta_json_is_parsable and meta_json_conforms_to_known_spec
  - Added meta_yml_has_repository_resource
  - Renamed metayml_ metrics to meta_yml_
  - Fixed abstract encoding issues
  - Refactored tests
  - Fixed not to ignore directory symlinks
  - Fixed RT#97858 - wrong no_symlinks test in files not in MANIFEST
    (for a local distribution; CPANTS site doesn't ignore symlinks
    not listed in MANIFEST)
  - Fixed RT#97601 - Test::Kwalitee incorrectly reports non-use of
    strict in Inline::CPP

0.93_02 2014-06-30
  - Removed cpants_lint.pl in favor of App::CPANTS::Lint
  - Fixed RT#94468 - "use_strict" metric doesn't like .pod files
    that contain no perl (ishigaki)
  - Fixed RT#96492 - 0.93_01 test failures on OSX (ether)

0.93_01 2014-05-27
  - Added the following metrics:
    - has_known_license_in_source_file
    - has_abstract_in_pod
    - no_abstract_stub_in_pod
  - Removed metayml_conforms_spec_current metric.
  - Supported x_cpants custom META field to tell analyzer to ignore
    some of the metrics (only) when calculating a kwalitee score.
  - Refactored several Kwalitee files, and internal stash layout has
    changed rather significantly. You might need to modify your
    tools if they happen to depend on the stash directly.

0.92 2013-09-22
  - Fixed a case when more than one license sections come in row
    (spotted by ysasaki++) (ishigaki)
  - stopped checking auto_features (ishigaki)

0.91 2013-09-05
  - Fixed RT#69233 - doesn't detect use >= 5.012 as use strict
    (ishigaki)
  - Fixed RT#83336 - Fails to detect strict via `use MooseX::Types`
    (ether)
  - Fixed RT#83851 - 'use v5.16' and greater not deemed "strict"
    (ishigaki)
  - Fixed RT#86504 - fix sort order of Kwalitee generators (ether)
  - Fixed RT#87155 - more Module::Install tests needed (1.04 is
    broken) (ishigaki)
  - Fixed RT#87597 - proper_libs is a dubious test (ishigaki)
  - Fixed RT#87598 - Can't use an undefined value as an ARRAY
    reference at .../FindModules.pm line 115. (ishigaki)
  - Fixed RT#87988 - Fix use of $Test::Kwalitee::VERSION (ether)
  - Fixed RT#88216 - extracts_nicely metric fails for -TRIAL
    releases (ishigaki)
  - Fixed RT#88365 - YAML/JSON tests are not failing when improperly
    encoded characters are seen (ishigaki)
  - Moose::Exporter also provides strict and warnings (doy)

0.90_02 2013-08-03
  - Fixed rt#87535 - incorrect version specification in 0.90_01
    (ether)
  - Fixed rt#87534 - Test failure in 0.90_01 (ether)
  - Fixed rt#87561 - t/11_hash_random.t fails due to undeclared test
    dependency (wyant)

0.90_01 2013-08-01
  - Applied all the changes in 0.88 again, and removed a few
    non-portable metrics for Test::Kwalitee.

0.89 2013-08-01
  - Tentatively reverted all the changes in 0.88

0.88 2013-08-01
  - add metric "no_dot_underscore_files" (daxim, charsbar)
  - remove metrics "distributed_by_debian",
    "latest_version_distributed_by_debian",
    "has_no_bugs_reported_in_debian", "has_no_patches_in_debian",
    "no_cpants_errors", "uses_test_nowarnings", "has_test_pod",
    "has_test_pod_coverage", "has_examples" (charsbar)
  - add metric "portable_filenames" (charsbar)
  - numerous fixes for a smoother operation of www-cpants (charsbar)

0.87 2013-02-12
  - fix rt#80225 - Test failures due to
    Test::CPAN::Meta::YAML::Version interface change (wyant)
  - fix rt#82939 - Hash-Randomization causes 10_analyse.t to fail
    (kentnl, chorny)
  - fix rt#44796 - Module::CPANTS::Kwalitee::Manifest broken for
    MANIFESTs containing files with spaces (rivy)

0.86 2012-04-11
  - add several strict and warnings equivalents & make it easy to
    add more
  - fix when Moose is used and strict is not used
  - add info about "MIN_PERL_VERSION"
  - better remedy for metayml_declares_perl_version
  - metayml_declares_perl_version moved from experimental to extra
    some pod improvements (jquelin)
  - fix rt#65903 - no more "Test::YAML::Meta::Version" on CPAN
    (jquelin)
  - replace YAML::Syck with YAML::Any (jquelin)
  - no_symlinks checks only files in MANIFEST, use "maniread" in
    ExtUtils::Manifest (rurban)
  - add more equivalents for use_strict and use_warnings tests
    (doherty)
  - implement valid_signature metric (daxim)

0.85 2009-07-12, Alexandr Ciornii
  - fix fails on non-Win32

0.84 2009-07-08, Alexandr Ciornii
  - require Test::Warn 0.11
  - add Test::More to deps
  - add LWP::Simple to deps
  - fix calc_test_yaml_meta.t
  - better META.yml
  - list of changes for 0.83 (domm)

0.83 2009-06-10
  - ignore "no_index" when searching for examples (xdaveg)
  - skip the debian metrics and downloading the debian file when in
    LINT (szabgab)
  - has_test_pod and has_test_pod_coverage are now optional metrics
    (domm)

0.82 2008-07-08 10:23:30
  - update META.yml spec to 1.4
    <http://module-build.sourceforge.net/META-spec-v1.4.html>
  - fixed experimental metrics
  - use Moose now counts for using strict
  - lots of commits from Gábor
  - honor META.yml key "no_index".
  - Fixes RT#32777 and an IRC complaint by BinGOs

0.81 Sun Apr 13 16:45:29 CEST 2008
  - fixed doc bug in SYNOPSIS (reported by ADAMOWSKI as RT#34773)
  - made Module::CPANTS::Kwalitee::FindModules smarter (domm):
    If available, use META.yml "provides". If not, look for
    "package" statements in files. It now also finds stuff like
    Tk::Widget and App::Ack upgrade to Software::License 0.003
    (Gábor)

0.80 Sat Apr 12 10:53:40 CEST 2008
  domm:
  - add metayml_has_provides metric

  Gábor Szabó:
  - simplify the way the VERSION number is looked up, keep the full
    version line
  - increase the no_large_files limit to 200_000
  - some unit test fixes thanks to Tux
  - some of {error} fields are now ARRAY refs instead of strings
  - more detailed unit tests
  - add "LICENCE" to the list of special files (not only LICENSE)
  - collect the license information of each file using
    Software::LicenseUtils
  - add has_separate_license_file metric
  - add has_license_in_source_file metric

0.79 Tue Apr  8 01:25:12 CEST 2008
  - released at the Oslo QA Hackathon 2008

  Gábor Szabó:
  - replace File::Find by File::Find::Rule
  - add no_large_files metrics
  - add fits_fedora_license metric that was inside the
  - easily_repackageable_by_fedora metric
  - add "is_experimental" flag to some of the metrics
  - add aggregating key to metric to list the other metrics being
    aggregated
  - unhide some errors during testing
  - renamed some error fields
  - add metayml_declares_perl_version metric

0.78 2008-04-06
  - released at the Oslo QA Hackathon 2008
  - very hacky workaround for problems with Meta.YML, version
    objects, etc
  - moved "has_version_in_each_file" into
  - Module::CPANTS::Kwalitee::Version & fixed a bug in it

  Gábor Szabó:
  - add fits_fedora_license metric that was inside the
  - easily_repackageable_by_fedora metric
  - add "is_experimental" and "is_aggregate" flags to some of the
    metrics
  - unhide some errors during testing
  - add no_generated_files metric
  - add easily_repackageable_by_fedora,
  - easily_repackagable_by_debian and easily_repackageable metric
  - add has_version_in_each_file metric
  - add has_tests_in_t_dir metric
  - add no_stdin_for_prompting metric checking for STDIN in
    Makefile.PL and Build.PL

0.77 2008-01-29
  - made prereq_matches_use and build_prereq_matches_use optional
    metrics
  - changed data structure: all errors are now in a hashref called
    "error"

0.76 2007-11-14
  - added new metrics prereq_matches_use and
    build_prereq_matches_use
  - added "needs_db" to metrics and removed hardcoded workaround for
    is_prereq
  - removed workaround in Module::CPANTS::Kwalitee::MetaYML (Barbie
    fixed it the problem in Test::YAML::Meta)
  - reworded metayml_is_parsable remedy

0.75 2007-10-29
  - added optional metric use_warnings
  - added directory xt as a potential location for test files
  - finally applied patch provided by Adriano Ferreira
    to fix some issues in Module::CPANTS::Kwalitee::Manifest.
    See RT #28982

0.74 2007-10-24
  - removed metric "metayml_conforms_spec_1_0"
  - fixed bug in "check_spec_conformance" in
    Module::CPANTS::Kwalitee::MetaYML, which caused wrong results in
    metayml_conforms_spec*
  - switched to YAML::Syck
  - work around Pod::Simple::Checker returning strange data

0.73 2007-09-12
  - added version of dist to dump file name
  - fixed bug in Module::CPANTS::Kwalitee::NeedsCompiler (RT #28134
    plus all reported merged into that one)

0.72 2007-06-30
  - added docs to cpants_lint.pl
  - cpants_lint.pl can now dump metadata to a file
  - added YAML output to cpants_lint.pl

  Gábor Szabó:
  - added Module::CPANTS::Kwalitee::NeedsCompiler
        MCK::NeedsCompiler does not contain any
        "kwalitee_indicator", but adds much needed metadata.

  Barbie:
  - Module::CPANTS::Analyse assumes Unix paths after munging with
    File::Spec, thus breaking portability at every turn in a
    non-Unix-like environment… bad Thomas no biscuit!
    Refined META.yml metrics using Test::YAML::Meta and brought
    *current spec* up to date with version 1.3
    <http://module-build.sourceforge.net/META-spec-v1.3.html> :)

0.71 2007-04-23
  - moved svn repo to <http://code.google.com/p/cpants/>
  - has_license now also checks for LICENCE (as suggested by David
    Cantrell)
  - fixed RT #26535 reported by MTHURN
  - has_example now also checks for "p(m|od)" files (as suggested by
    JUERD)
  - fixed RT #24228 reported by THALJEF - t/99_critic.t
    now only runs if $ENV{AUTHOR_TEST} is set
  - resolved RT #25198 reported by bdfoy using his patch
    Module::CPANTS::Kwalitee::FindModules: do not check META.yml for
    "provides" because META.yml might list semi-garbage (eg
    according to META.yml, Siesta provides Apache::Constants, which
    it does not.)
  - skip very large test-files and only check *.t files (not
    everything in t/) as suggested by CASIANO
  - cpants_lint.pl:
    - switched from Getopt::Std to Getopt::Long
    - added "--no_capture" option for easier debugging
    - added "--verbose" options

  - hopefully fixed RT #25207 (test failures on Win32) reported
    (and patched…) by HEMINGWAY. This should also solve
    RT #26535 reported by Martin Thurn
  - applied doc patch submitted by MSTEVENS as RT #26379

0.69 2006-11-04
  - split up "metayml_conforms_spec" to metayml_conforms_spec_1_0
    and "metayml_conforms_spec_1_2" (which is optional)
  - added "metayml_error" and docu pointers to it.

0.68 2006-10-28
  - fixed bug in Module::CPANTS::Kwalitee::FindModules reported by
    JDHEDDEN in RT #22081 (the module name of modules living in the
    top-level namespace (eg 'threads.pm') was not guessed correctly
    use META.yml "provides" (if it exists) instead of guessing
    module names in Module::CPANTS::Kwalitee::FindModules
    modifed changelog-regex in Module::CPANTS::Kwalitee::Files as
    suggested by CDOLAN in RT #21999
  - added Module::CPANTS::Kwalitee::License
  - moved license checking to Module::CPANTS::Kwalitee::License
  - added checks for LICENSE file and "LICENSE" POD section
  - moved "meta_yml" parsing to Module::CPANTS::Kwalitee::MetaYML
  - changed "has_license|Module::CPANTS::Kwalitee::License" error
    text after Schwern (and Andreas Koenig) suggested
    that ExtUtils::MakeMaker now supports a "license" field

0.67 2006-09-13
  - cpants_lint.pl now handles reporting of optional metrics better.
  - added t/99_critic.t (Gábor Szabó)
  - some code cleanups as reported by Test::Perl::Critic (Gábor
    Szabó)
  - new metric: "has_license|Module::CPANTS::Kwalitee::License";
  - Module::CPANTS::Kwalitee::MetaYML (Gábor Szabó)
  - Module::CPANTS::Kwalitee::Pod now reports the error messages
    returned by Pod::Simple::Checker (suggested by Gábor Szabó)

0.66 2006-09-06
  - added "optional_indicator_names utility" in
    Module::CPANTS::Kwalitee method

0.65 2006-09-05 (YAPC::Europe hackathon release)
  - updated test suite
  - added "has_example" to Module::CPANTS::Kwalitee::Files
  - added "buildtool_not_executable" to
    Module::CPANTS::Kwalitee::Files
  - added Module::CPANTS::Kwalitee::Manifest
    ("manifest_matches_dist")

0.64 2006-08-29
  - updated Module::CPANTS::Kwalitee::BrokenInstaller
    submitted by Steffen Müller

0.63 2006-07-31
  - we now also find README.txt
  - resolves RT #20633 reported by MBARBON (thanks for the patch!)

0.62 2006-07-20
  - added Module::CPANTS::Kwalitee::BrokenInstaller
    submitted by Steffen Müller

0.61 2006-07-17
  - Kwalitee metrics can now be marked as "is_extra"
    Such metrics do not count for available kwalitee

  - marked is_prereq as "is_extra"
  - cpants_lint now reports percentages additional to absolute
    values
  - cpants_lint won't list failed "is_extra" metrics
  - added some method caching to Module::CPANTS::Kwalitee
  - added Ctotal_kwalitee> to Module::CPANTS::Kwalitee.

0.60 2006-05-18
  - activated is_prereq metric
  - added helper method ("available_kwalitee")
  - Module::CPANTS::Kwalitee::FindModules: skip stuff in inc
    (Module::Install)

0.52 2006-03-12
  - added some dependencies to Build.PL/META.yml (thanks to Achim
    Grolms and BLBLACK (RT #17977))
  - enhanced output of cpants_lint.pl (list failed tests)
  - Module::CPANTS::Kwalitee::FindModules: die if we cannot find a
    namespace
  - Module::CPANTS::Kwalitee::FindModules: remove stuff that doesn't
    seem to be namespace (eg lowercase) from module names
  - changed the name of some fields to work with the (upcoming) DB
    added some tests

0.51 2006-02-16
  - adapted Module::CPANTS::Kwalitee::Prereq to work with newer
    versions of YAML (reported by Andreas Koenig as RT #17670)

0.50 2006-01-26
  - first release to CPAN

0.01
  - started rewrite