Publ: Development Blog

Entries tagged release

v0.8.5

Posted Saturday, November 29 at 10:55 AM (3 months ago)

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:

find . -name '*.md' -print0 | xargs -0 grep 'UUID' | cut -f2- -d: | sort | uniq -c | sort -n

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.

v0.8.2 v0.8.3 released

Posted Sunday, October 19 at 11:51 PM (4 months ago)

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.

Publ v0.8.0

Posted Thursday, June 26 at 9:40 PM (8 months ago)

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.

v0.7.40

Posted Thursday, April 3 at 11:59 AM (10 months ago)

I just released v0.7.40, which allows easily overriding the image used on an entry card.

v0.7.39 released

Posted Monday, March 3 at 10:25 PM (11 months ago)

There’s been several minor releases of Publ, and it’s up to v0.7.39 now. Here’s what’s changed since v0.7.35:

  • Fixed a bug with CSS templates erroneously entity-escaping quotes
  • entry.archive() now elides the template-name if it’s the category default (matching view.link())
  • Internal type-safety changes for the latest version of BeautifulSoup
  • Add Status: ATTACHMENT
  • 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.

Authl v0.7.3

Posted Thursday, January 23 at 10:08 PM (a year ago)

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!

Publ + Pushl releases and a bunch of plans

Posted Sunday, January 5 at 7:25 PM (a year ago)

There’s been a few releases of both Publ (now on 0.7.35) and Pushl (now on 0.4.0). A pretty decent amount has changed!

Publ changes since 0.7.31:

  • Fix some error handling issues causing an ISE
  • Add support for HTTP Accept:, properly allowing multiple templates with the same name and providing reasonable fallback behavior
  • Improve the Content-Type handling in general
  • Fix some markup-safe handling bugs

Note that in order to upgrade to 0.7.35 you’ll also need to restrict your Python environment to use a Python version < 3.13; more on that in a bit.

Pushl changes since v0.3.5:

  • Tidy up some code rot
  • Actually send an Accept: header
  • Removed lxml + Pingback support, which has never actually been useful

So, let’s talk about these projects and some other related stuff.