Plack

While Plack has very little to do with the QA/toolchain stuff (more on that later), I shipped Plack-1.0035-TRIAL to CPAN. This includes a lot of optimizations around header parsing, header generation and PSGI header array manipulations. If you have a web application running with Plack, you should definitely test your application with this version by running cpanm — dev Plack.

provides & indexes

Day 1 post of mine has spurred a bit of discussion on irc as “what do you mean by rejecting uploads without META!?”. And that eventually has evolved into a quick face to face chat about the meaning of provides in the META v2, where ribasushi wanted to use provides to display “private” module documentation on MetaCPAN. He has uploaded Acme::WeirdPod on CPAN to demonstrate the (broken) behavior of MetaCPAN.

CPAN::Common::Index

Continuing the work on yesterday on MetaCPAN backend for CPAN::Common::Index, I bugged oalders and clintongormley about the complexity in my code, and we just agreed that it would be better if MetaCPAN just implemented what I need as a new API endpoint, and use it in cpanm (and possibly other clients via CPAN::Common::Index).

clintongormley already has started a branch implementing the endpoint I need. I uploaded VersionBump test distribution to analyze and test the behavior of PAUSE and MetaCPAN when a sub package has a decreasing, staying or increasing version numbers.

Because MetaCPAN is currently expecting a massive infrastructure update in coming weeks including ElasticSearch upgrades, we don’t expect to see this server side API available while we’re in Berlin. Right now I have vendored the ported version in cpanm and will continue using that, and switch to the server-side optimized one once it’s available.

pausetm — PAUSE Time Machine

I blogged about this 2 years ago, but PAUSE has a git history of its 02packages list. I made and uploaded App::PAUSE::TimeMachine distribution and pausetm command that works as a frontend for this git repository.