A recent change to PAUSE means that examples included in a CPAN release are no longer scanned for package names to index, and aren't checked for permissions. This simplifies the rules about indexing and permissions, and also helps us resolve some historical permissions conflicts. In this post I'll present the problem(s), explain what has changed, and what this means for CPAN authors.

Read more ...

Andreas König and I have been working to remove the modulelist permissions from the PAUSE database. At the QA Hackathon we worked through the remaining cases, where relevant reviewing them with RJBS, and most of them were removed on the last day of the QAH. Following the QAH we've resolved the last handful, so there are no longer any 'm' permissions in 06perms.txt. This means that the relevant parts of PAUSE can be removed, and a number of modules can be simplified.

Read more ...

This is the first part of a series about what happens when you upload a release to CPAN, via PAUSE. I started writing it as a single post, but it became way too long before I was even half way. This post will try to be the executive summary, or Reader's Digest condensed version if you like. Subsequent posts will dive into the details; I'll be filling gaps in my knowledge as I go, and expecting to be corrected on plenty of points as well.

Read more ...

Last year I created PAUSE::Packages, which lets you iterate over all dists that PAUSE believes are still on CPAN. For a number of projects, including the CPAN Report 2013, I need to iterate over all releases of all dists. Yesterday I made the first release of CPAN::ReleaseHistory, which makes it easy to do that, in a similar way to PAUSE::Packages.

Read more ...

I had a patch accepted which adds an is_core() function to Module::CoreList. This was my first attempt at modifying a core module. This post describes the function, why I wanted it, and my experience adding it to a core module. And then fixing the bug I introduced!

Read more ...

Iterating over all dists on CPAN

CPANPAUSEiteratorsJSON Sat 14 September 2013

I recently released a new version of my PAUSE::Packages module, which caches information about releases on CPAN and makes it easy to iterate over it. In this post I'll cover the motivation for this module, why I decided to transform the existing PAUSE export file, and how David Golden nudged me to use JSON.

Read more ...

PAUSE supports an informal mechanism for flagging that a module is available to be taken over, or to flag that you'd like help. In this article I'll outline the mechanism, and point out some things to be aware of.

Read more ...