Publ v0.8.5 is out now, and it changes how UUIDs are handled on entries. First of all, now there’s a unique constraint on them (to prevent mishaps like copying an entry as a template and forgetting to remove the UUID), and secondly it’s now gone back to using a UUID4 instead of a UUID5, since UUID5 made it way too easy to generate collisions.
In order to upgrade you’ll have to remove any duplicate UUIDs. To find entries with duplicate UUIDs you can run something like:
which will show how many entries have each UUID. For every UUID that has a count greater than 1, you’ll have to do something like:
grep -rl bc3ced56-93c3-4252-aa85-48fb85b253de .
which will then list all of the entries with UUID bc3ced56-93c3-4252-aa85-48fb85b253de, and then you can decide which one(s) to remove the UUID from, and then reindex the site (with poetry flask publ reindex) to generate the new UUIDs.
This will help to clear up weird issues where items don’t appear as new in feeds, and also paves the way for some future functionality I’ve been wanting to implement which relies on the second U in UUID being true.
Note that since this change modifies the database, it will require a full site reindex. I recommend fixing any known UUID issues before upgrading Publ.
Here’s a new version of Publ. The only thing new about it is that I’ve completely rewritten the Accept: header mechanism to be much closer to what one would expect based on the HTTP standard, and also now you can override MIME types on a per-template or per-extension basis.
… And of course with a major rewrite that I decided to push out after midnight after a very long day of coding, of course it had some edge-case bugs, right on the edge cases I was trying to fix to begin with. Whoops. Now we’re on 0.8.3.
I’ve just released v0.8.0 of Publ, which is a minor version change because this has the potential of changing the URL scheme in some cases.
This is also the first release announcement since v0.7.40, so here’s what’s changed since then:
Fixed a bug with render arguments not being passed in correctly for card images
Improved the mechanism for adding fallback images to a card
Support Unicode characters (and internal periods, as seen on this very entry!) in URLs and tags
Note that any affected URLs for existing entries may not change until the site has been fully reindexed. If this matters to you, run flask publ reindex -f.
Removed the background image rendering threadpool, as it was an artifact of an early design that ended up not being beneficial for real-world operation
(Hopefully) fixed an issue with the indexer ignoring attachments that have not yet been indexed
Fixed an issue with the permission error handling on the admin dashboard
The only user-facing change is the Status: ATTACHMENT thing.
I’ve updated Authl to make it support the new-ish profile scope in Mastodon 4.3, which provides better login-flow UX.
If profile is unsupported it tries to fall back to the old read:accounts scope, which should keep it working on older Mastodon versions as well.
In theory it should also work with Pleroma/Akkoma (and anything else that speaks the Mastodon client API), although that functionality hasn’t been verified in quite some time. If someone else wants to take on the work of verifying that and fixing whatever’s broken, that would be greatly appreciated!