PGXN Distribution Prerelease Versions Fixed

By David E. Wheeler

A couple years ago, the Semantic Version specification was updated to require a hyphen between the “patch version” and the “prerelease version.” This despite the fact that v1.0.0 of the spec had been published on the site for a while (see all the gory issues here). Naturally, I had already implemented that format for PGXN in a Perl module and Postgres data type. Since we already had some PGXN extensions with the non-hyphenated format, and I knew supporting the hyphen would break them, I held off updating those implementations for a year or so.

I finally broke down and updated them, though, to be fully compliant with the official v1.0.0 spec, and pushed the changes to the PGXN server a few months ago. And I was right: it did break things. Links broke, downloads failed, and my mailbox filled up with error messages. I triaged the worst of the issues, but since then, accessing PGXN distributions with prerelease versions has not worked so well.

Until last night. I finally got some tuits in the last month to dig into this issue and figure out how to fix it. As a result, there are new releases of PGXN Manager, the API, and the site, as well as the META.json validator that should keep things consistent and working well going forward. Assuming there are no more backwards-incompatible changes to semantic versions, of course.

But that still didn’t solve the problem of existing distributions with the old format of semantic version. Alas, I had to download them all, modify them, and re-index them. This means that, if you had URLs to prerelease versions laying around, they won’t work anymore. Fortunately, they’re prerelease versions, so I wouldn’t expect many to have them lying around anyway.

Still in the interest of disclosure (and because their SHA1s have changed), here’s a list of the changed distributions:

Apologies for the dead links, and for taking so long to get this stuff cleaned up.