Add a MANIFEST to the distribution. Your buildtool should be able to autogenerate it (eg "make manifest" or "./Build manifest")
Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.
Add a Makefile.PL (for ExtUtils::MakeMaker/Module::Install) or a Build.PL (for Module::Build and its friends), or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.
Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.
Add a section called "LICENSE" to the documentation, or add a file named LICENSE to the distribution.
Add =head1 LICENSE and the text of the license to the main module in your code.
Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.
Error: Cannot find MANIFEST in dist.
Add a META.json to the distribution. Your buildtool should be able to autogenerate it.
Add tests or move tests.pl to the t/ directory!
Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.
Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.
Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.
This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.
|Object::Interface||allows specification of an abstract base class||1.0||metacpan|