App-cpanoutdated-fresh

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

cpan-outdated-fresh

This application bears much resemblance to cpan-outdated, but with a few
important differences.

*   MetaCPAN Driven

*   "--dev" supported

*   Temporal difference comparison.

  Temporal difference comparison

One of the big features of using the "MetaCPAN" API, is the ability to
filter results into a time bracket.

As such, this application can tell you only about updates that happened
to things you have installed "IF" they've been recently updated.

For instance, one problem I kept facing was this:

  $ cpan-outdated
  # Broken::Package
  $ cpanm Broken::Package
  # Broken::Package is broken!
  ... wait a few days
  $ cpan-outdated
  # Broken::Package
  $ cpanm Broken::Package
  # Broken::Package is broken!
  ... doh
  ... repeat.

With this app, as soon as "Broken::Package" falls outside the "age"
window, you stop getting told about it.

DU;DC - Didn't Update, Don't Care.

This also has a benefit that if you run it very frequently, you can get
a speed boost by narrowing the update window.

  $ time
  # 12:00
  $ cpan-outdated
  # install ALL the things
  ... wait a while
  $ time
  #  1:00
  $ cpan-outdated-fresh -a 1h
  # One update

Essentially rewarding you for frequent use by being fast for frequent
use.

   Downside

Unfortunately, this optimization has a trade-off, namely, it scales very
poorly vs time, due to exponential growth.

"cpan-outdated" uses "02packages", which has its limits, and its
inefficiencies, but the inefficiencies are effectively constant due to
old packages getting pruned from "02packages" as newer versions replace
them.

So:

  cpan-outdated-fresh -a 30d

Will take substantially more time to execute than

  cpan-outdated

We've tried to combat this by trimming some cycles, but they may still
prove over-zealous.

However, this approach is still going to give you "--dev" results that
"cpan-outdated" can't deliver.



( run in 0.903 second using v1.01-cache-2.11-cpan-bbe5e583499 )