Publ v0.7.18
0.7.17 had a critical bug in view.deleted where it wasn’t properly filtering query parameters, so that version has been yanked and 0.7.18 has been released in order to fix said bug.
0.7.17 had a critical bug in view.deleted where it wasn’t properly filtering query parameters, so that version has been yanked and 0.7.18 has been released in order to fix said bug.
Today marks the release of Publ v0.7.17. Aside from the usual upstream-dependency changes and progressive delinting, this release fixes a subtle but annoying issue with how View.link works. There’s a longer description of the issue on GitHub but the upshot of this is that now the parameters passed into a View object get properly validated, meaning that if you’re doing something like:
<a href="{{view.previous(template='bob')}}>">
this will fail, as the correct syntax is (and always has been)
<a href="{{view.previous.link(template='bob')}}>">
Minor release for Publ, wherein I fixed a single bug; namely, loading a category without the trailing / was causing an erroneous redirect, due to an apparent change in the depths of Flask.
This is one of those things where I really need to refactor Publ to make it properly unit-testable, gosh darnit.
I haven’t been working on this stuff in a while, but there were reasons to make some updates and releases for both Publ and Authl.
Publ changes:
Authl changes:
mastodon.pySome of the dependency changes necessitated updating the minimum Python version; in particular, Publ and Authl now require Python 3.7.2 or greater. But if you’re still running Python 3.6 for some reason you’re used to things being broken or outdated.
Also, due to an impending change in Flask, the Publ API is going to have to change somewhat; the short version is that app.secret_key will no longer be the means of configuring authentication. Most likely the config will change to get a secret_key key within the auth section instead. This actually makes the configuration a lot easier to deal with anyway, and I was never happy about this inconsistency. (In fact, I’m pretty sure that’s how it used to be configured until I changed it to be more Flask-like in the first place!)
It’s also possible that publ.Publ will revert to being a function that constructs a Flask application object, rather than being a subclass of Flask, but I haven’t yet investigated what the implications of this change would be. I believe there are a few places in the Publ codebase which rely directly on the subclass relationship (which would be difficult to change, such as the way that the Authl instance is associated with the application), and prior to that there’s a reason I switched it from a factory to a subclass in the first place, although I can’t quite remember what it was (it was probably either something to do with the ORM’s startup behavior or something to do with Authl’s lifetime). Either way, it’ll take significant investigation, and this will be necessary before Flask 2.3 is released. (In retrospect I meant to pin Publ’s Flask requirement to <2.3.0 before I did this release, but I forgot. Oops.)
Publ v0.7.14 is now released. Changes:
Version 0.7.10 0.7.11 of Publ has been released. Not much different from 0.7.9:
whoosh and authl optional, to cut down on installation bloat for sites that don’t need themThe dependency changes have the potential for breaking functionality in existing sites. In order to restore full-text search and federated authentication, you’ll need to add whoosh and authl to your deployment options, respectively. If you’re using Poetry or another dependency manager which understands extras, you can specify the search and auth extras in your pyproject.toml; for example:
[tool.poetry.dependencies] python = "^3.8" gunicorn = "^20.0.4" publ = {version = "^0.7.9", extras = ["search","auth"]} pushl = "^0.3.3" python-memcached = "^1.59"
Hopefully this is a helpful change for some people, and not too annoying for others.
Update: Until I tried to roll out a site without Authl enabled, I had failed to realize one spot where Authl was still being unconditionally imported. If you actually want to run without Authl, update to v0.7.11.
Publ v0.7.9 is out. The only change from 0.7.8 is a bugfix to fenced code blocks, which were broken by an excruciatingly subtle change to the pygments API. Oops.
Another update to Publ. Changes in this release:
It’s been a hot minute since I’ve worked on any Publ stuff, but v0.7.7 is now released. The following changes have been made since then:
Both a minor update, and a major one; due to upstream vulnerabilities in Pillow, which are only resolved in a version which drops support Python 3.6, Publ now also drops support for Python 3.6.
There are no other changes.
Releasing v0.7.5 of Publ just to get some bugfixes out. Namely:
path_alias_regexReleased new versions of Publ and Authl today.
First, the Authl changes:
profile_url field to user profiles to make up for the Twitter URL thingAnd the Publ changes:
profile_url fieldPubl v0.7.3 is now out, with the following changes:
AUTHL_FORCE_SSL configuration settingNote that entry.summary now takes an optional parameter, markup, which defaults to True, for the sake of consistency with the rest of the Publ templating API. If you are using entry.summary to provide descriptive text for things (e.g. <a title="{{entry.summary}}"> or <meta name="description" content="{{entry.summary}}">) this will have to change to {{entry.summary(markup=False)}}.
Authl v0.5.2 is now out.
Changes:
I’ve just released v0.5.1 of Authl. The only functional change is adding support for actually parsing IndieAuth server response profiles (rather than just requesting one and only using the h-card), now that there’s implementations in the wild, meaning that egg has hatched into a chicken.
There were also some minor documentation cleanups since v0.5.0.
Big new releases for Publ and Authl!
Publ changes:
Authl changes:
I finally got around to adding whoosh full-text search to Publ, as an experimental feature. See it in operation.
Other changes:
entry.prev and entry.next to not default to subcategory recursion if a category context is specifiedIt took me way longer than I should have, but I finally decided to bump the minor version of Publ to 0.7.0.
My original intention was to only do that after getting the unit test coverage up to 90%, then to 80%, then to 50%… but it’s at 45% and that’s Good Enough I guess. I’d still like to get some proper automated testing in place for the bits that are tricky to test but with a system as complex as Publ it’s not particularly clear how to do a lot of that. The main issue is a fundamental mismatch between how the underlying ORM works vs. how unit testing is supposed to work, and I’ve so far been unable to square that circle. But maybe someday I’ll get the test coverage number up where I want it to be.
In any case, the only actual code change since 0.6.14 was some fixes to how page redirection works, especially around private entries.
End-of-the-year updates to Publ, mostly bug/interoperability fixes but a couple of small new features:
example.com/1234 → example.com/blog/1234-hello-world) now uses permanent redirectsview now has a has_unauthorized propertycategory.tagsview(tag=...).link, entry.archive(tag=...), etc.) will normalize the case and order of included tagsAssuming this is stable, this will become the basis of the long-overdue 0.7.0 release.
Just some minor fixes for v0.6.13: