Dist::Zilla::Plugin::PromptIfStale - Check at build/release time if modules are out of date


version 0.058


In your dist.ini:

    phase = build
    module = Dist::Zilla
    module = Dist::Zilla::PluginBundle::Author::ME


    check_all_plugins = 1


[PromptIfStale] is a BeforeBuild or BeforeRelease plugin that compares the locally-installed version of a module(s) with the latest indexed version, prompting to abort the build process if a discrepancy is found.

Note that there is no effect on the built distribution -- all actions are taken at build time.



Indicates whether the checks are performed at build or release time (defaults to release).

(Remember that you can use different settings for different phases by employing this plugin twice, with different names.)


The name of a module to check for. Can be provided more than once.


A boolean, defaulting to false, indicating that all authordeps in dist.ini (like what is done by dzil authordeps) should be checked.

As long as this option is not explicitly set to false, a check is always made for authordeps being installed (but the indexed version is not checked). This serves as a fast way to guard against a build blowing up later through the inadvertent lack of fulfillment of an explicit ; authordep declaration.


A boolean, defaulting to false, indicating that all plugins being used to build this distribution should be checked.


A boolean, defaulting to false, indicating that all prerequisites in the distribution metadata should be checked. The modules are a merged list taken from all phases (configure, build, runtime, test and develop) , and the requires, recommends and suggests types.


The name of a module to exempt from checking. Can be provided more than once.


A boolean, defaulting to false, indicating that missing prereqs will result in an immediate abort of the build/release process, without prompting.


When provided, uses this base URL to fetch 02packages.details.txt.gz instead of the default Use this when your distribution uses prerequisites found only in your darkpan-like server.

You can also set this temporary from the command line by setting the CPAN_INDEX_BASE_URL environment variable.


It is possible to detect when a build is being run via Travis Continuous Integration. Since version 0.035, Travis builds act like other non-interactive builds, where missing modules result in a warning instead of a prompt. As of version 0.050, stale checks are only performed for the build phase on Travis builds when run_under_travis is set to a true value.

The default value is false.



Given a list of modules to check, returns

  • a list reference of modules that are stale (not installed or the version is not at least the latest indexed version

  • a list reference of error messages describing the issues found



Bugs may be submitted through the RT bug tracker (or

There is also a mailing list available for users of this distribution, at

There is also an irc channel available for users of this distribution, at #distzilla on

I am also usually active on irc, as 'ether' at and


Karen Etheridge <>


  • David Golden <>

  • Dave Rolsky <>

  • Olivier Mengué <>


This software is copyright (c) 2013 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.