<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/upgrade/</id><title>Upgrade</title><updated>2021-05-15T03:16:44Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/upgrade/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/upgrade/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/651216661677064192</id><title type="html">A Few Belated PGXN Updates</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2021/a-few-belated-pgxn-updates/"/><updated>2026-10-07T16:13:48Z</updated><published>2021-05-15T03:16:44Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="pgxn" label="PGXN"/><category scheme="https://blog.pgxn.org/tags" term="upgrade" label="Upgrade"/><category scheme="https://blog.pgxn.org/tags" term="tls" label="TLS"/><category scheme="https://blog.pgxn.org/tags" term="retina" label="Retina"/><summary type="html"><![CDATA[<p>The last couple weeks I&rsquo;ve returned to PGXN and made a few updates. Nothing
huge, but all long overdue.</p>
<p>First up, <a href="https://manager.pgxn.org">PGXN Manager</a> is all TSL now. No public HTTP-only site. What
started as a convenient division of labor (http for the public site and https
for the authenticated site) turned out to be quite irksome &mdash; especially
since some browsers wouldn&rsquo;t load the non-TLS site at all anymore. So I did
away with it, and now it&rsquo;s all TLS, authenticated and not. (The API and search
sites have been TLS for a while now.)</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>The last couple weeks I&rsquo;ve returned to PGXN and made a few updates. Nothing
huge, but all long overdue.</p>
<p>First up, <a href="https://manager.pgxn.org">PGXN Manager</a> is all TSL now. No public HTTP-only site. What
started as a convenient division of labor (http for the public site and https
for the authenticated site) turned out to be quite irksome &mdash; especially
since some browsers wouldn&rsquo;t load the non-TLS site at all anymore. So I did
away with it, and now it&rsquo;s all TLS, authenticated and not. (The API and search
sites have been TLS for a while now.)</p>
<p>I also fixed a few long-standing bugs in PGXN Manager, most of which weren&rsquo;t
visible to end-users, but have annoyed me over the years. A few silly server
errors, some instances of uploads failing for anything other than zip files,
that sort of thing.</p>
<p>Oh, and if you&rsquo;re a extension author, PGXN Manger now allows updates to old
distribution versions to be uploaded. Previously it only allowed a new version
to be greater than all previous versions. Now it will allow a new X.Y.Z
version if X.Y previously existed and the new .Z is greater, and a new X.Y
version if X previously existed and the new .Y is greater than any previous
X.Y. To get this to work properly, I also dropped the check for versions of
extensions in the uploaded files. It would just be too complicated to add a
bunch of rules more likely to annoy than not. So it now only enforces patterns
for distribution release versions. I trust extension authors not to then lower
extension versions on new releases &mdash; that would just be silly, and not
helpful to your users.</p>
<p>As part of this work, I also revamped the management of the PGXN server. Back
in 2010 I wrote Capistrano files to manage the server, but have long ceased to
use them, as they ceased to work. I&rsquo;ve now removed all that detritus from the
PGXN Manager, API, and Site repositories, and replaced them all with a single
new repository, <a href="https://github.com/pgxn/pgxn-ops">pgxn-ops</a>, which contains Ansible playbooks to manage all the
services. They don&rsquo;t deal with a lot of the server-side stuff, which depesz
handles separately, but they now make it much easier to build and deploy a new
release, restart it remotely, manage passwords, etc.</p>
<p>And finally, I&rsquo;ve updated the <a href="https://pgxn.org/">PGXN search site</a>. In addition to fixing a few
long-standing minor annoyances (borders around images linked in documentation,
broken links, etc.), I also updated most of the graphics to be
retina-friendly. So it should look a lot sharper on your hi-res screens now.
Check it out!</p>
<p>Next up I think I&rsquo;d like to make the search site more mobile-friendly, and
then perhaps I&rsquo;ll finally go back and attack the terrible search provided by
the API. I&rsquo;ll try to do it in less than five years this time.</p>
]]></content></entry><entry><id>https://blog.pgxn.org/post/128057409023</id><title type="html">PGXN Manager Upgraded</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2015/pgxn-manager-upgraded/"/><updated>2026-10-07T16:13:48Z</updated><published>2015-08-31T21:48:54Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="release" label="Release"/><category scheme="https://blog.pgxn.org/tags" term="upgrade" label="Upgrade"/><category scheme="https://blog.pgxn.org/tags" term="versions" label="Versions"/><summary type="html"><![CDATA[I took a little time this summer to finally address some nagging issues in
<a href="https://manager.pgxn.org/">PGXN Manager</a>, the site to which extensions are uploaded and added to the
<a href="https://master.pgxn.org/">master repository</a>. Most of the changes were internal, improving the
interface through which I sometimes have to re-index a release. There are also
a couple of minor changes to the sample <code>Makefile</code> in the <a href="https://manager.pgxn.org/howto">How To</a>. But the
most important change for new releases going forward is that version ordering
is now enforced. That means two things:]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>I took a little time this summer to finally address some nagging issues in
<a href="https://manager.pgxn.org/">PGXN Manager</a>, the site to which extensions are uploaded and added to the
<a href="https://master.pgxn.org/">master repository</a>. Most of the changes were internal, improving the
interface through which I sometimes have to re-index a release. There are also
a couple of minor changes to the sample <code>Makefile</code> in the <a href="https://manager.pgxn.org/howto">How To</a>. But the
most important change for new releases going forward is that version ordering
is now enforced. That means two things:</p>
<ul>
<li>Distribution versions <strong>must</strong> be greater than the version of the previous
release. You can no longer release <code>v1.2.0</code> today and <code>v1.1.0</code> tomorrow.</li>
<li>Extension versions <strong>must</strong> be greater than or equal to versions in previous
releases. It&rsquo;s pretty common to have a new release version but have embedded
extensions be the same version as before. But they can&rsquo;t be any less than
before.</li>
</ul>
<p>The changes have been applied to the reindexing code, as well, which also
prevents versions from being greater than in subsequent releases. That won&rsquo;t
come up very often&mdash;most of the time, I end up reindexing something that has
just been released. But in the future I expect to add an interface for release
managers to <a href="https://github.com/pgxn/pgxn-manager/issues/49">reindex their own distributions</a>, so it may be that someone
reindexes a release that&rsquo;s a few versions old. Or not. But just in case, it&rsquo;ll
be handled.</p>
<p>So what are you going to release on PGXN today? <a href="https://manager.pgxn.org/howto">Get to it!</a>.</p>
]]></content></entry></feed>