Posted Sunday, March 20 at 9:35 PM (3 years ago)
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:
- TicketAuth: added support for the provisional request flow and for refresh tokens
- Also added an optional scope parameter to the TicketAuth request (which Publ itself doesn’t use and it doesn’t make much sense in a TicketAuth context but maybe someone will have a use for it)
- Added the ability to specify absolute links on the login and logout template functions
- Allow disabling the index watchdog
- Properly strip tables from auto-generated entry summaries
Posted Tuesday, January 18 at 10:29 PM (4 years ago)
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.
Posted Sunday, November 14 at 1:01 PM (4 years ago)
Releasing v0.7.5 of Publ just to get some bugfixes out. Namely:
- Update Flask to v2.0 and refactor around typing issues
- Add missing test for
path_alias_regex
- Handle normalization collisions better
- Don’t erroneously pre-strip markup from autosummary
- Improve handling of pre-paragraph block tags in paragraph extractor
Posted Thursday, October 14 at 10:02 PM (4 years ago)
Released new versions of Publ and Authl today.
First, the Authl changes:
- Fixed some test coverage
- Changed Twitter user URLs to be stable (but less readable)
- Added
profile_url field to user profiles to make up for the Twitter URL thing
And the Publ changes:
- Fixed image cache stale directory removal
- Fix ETag output
- Full-text search now properly excludes future articles
- Added a filename normalization tool
- Fixed an Internal Server Error that occurred from a malformed or expired bearer token (AutoAuth et al)
- Updated to Authl 0.6.0 and made use of the new
profile_url field
Posted Wednesday, October 6 at 1:40 AM (4 years ago)
Publ v0.7.3 is now out, with the following changes:
- Properly handles markdown and HTML stripping in summary text
- Improves first-paragraph extraction for OpenGraph cards
- Reduces unnecessary image renditions for OpenGraph cards
- Finally deprecates the
AUTHL_FORCE_SSL configuration setting
- Adds group display to the user information on the admin panel
- Fix the PyPI listing
- Make the image rendition cache purge mechanism actually, you know, work
Note 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)}}.
Posted Wednesday, September 1 at 9:08 PM (4 years ago)
Pushl has been updated, specifically to rewrite the way that feeds are parsed to avoid a problem due to feedparser internals changing in a way that made the caching mechanism stop working.
Posted Monday, August 30 at 10:51 PM (4 years ago)
Authl v0.5.2 is now out.
Changes:
- Fixed some caching-related issues on IndieAuth profiles
- The IndieAuth handler now supports PKCE
- IndieAuth takes detection priority over Fediverse
- Authl is now compatible with Flask 2.0
Posted Sunday, August 29 at 1:24 AM (4 years ago)
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.
Posted Thursday, July 8 at 8:56 PM (4 years ago)
Big new releases for Publ and Authl!
Publ changes:
Authl changes:
- Improve the meta robots rules on the login form
- Add IndieWeb endpoint discovery to the profile
Posted Wednesday, May 5 at 11:28 AM (4 years ago)
There’s a general belief that SQLite is a “slow” database and Postgres is “fast,” and many software packages (including FOSS) insist that SQLite is only suitable for testing and doesn’t scale. However, this doesn’t make much sense when you think about it; SQLite is an in-process database so there’s no communications overhead between the service and the database, and because it’s only designed to be accessed from a single process it can make use of optimistic locking to speed up transactions.
Since I was installing postgres for another purpose on my webserver, I decided to quickly see if Publ performs better on Postgres vs SQLite. To test the performance I compared the timing for my website on both doing a full site reindex, and rendering the Atom feed several times (using the debug Flask server and caching disabled).
Posted Thursday, March 4 at 11:53 AM (4 years ago)
I finally got around to adding whoosh full-text search to Publ, as an experimental feature. See it in operation.
Other changes:
- Improve the way that tag names get normalized
- Change
entry.prev and entry.next to not default to subcategory recursion if a category context is specified
Posted Saturday, January 9 at 9:43 PM (5 years ago)
It 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.
Posted Wednesday, December 30 at 9:49 PM (5 years ago)
End-of-the-year updates to Publ, mostly bug/interoperability fixes but a couple of small new features:
- URL chasing (e.g.
example.com/1234 → example.com/blog/1234-hello-world) now uses permanent redirects
- Tag displayname normalization only updates if the newly-seen version is mixed-case
- You can now configure template default layout options globally
view now has a has_unauthorized property
- Hidden tags no longer appear in
category.tags
- Generated tag-browsing URLs (e.g.
view(tag=...).link, entry.archive(tag=...), etc.) will normalize the case and order of included tags
Assuming this is stable, this will become the basis of the long-overdue 0.7.0 release.
Posted Monday, December 7 at 6:23 PM (5 years ago)
Just some minor fixes for v0.6.13:
- Database performance improvements
- SEO improvements
- Fix the Windows test runner (ironically untested)
- Remove the minimal sample site from the source repository, as this is better served by the git repository for this site and the getting started documentation.
Posted Friday, December 4 at 12:09 AM (5 years ago)
Wow, it’s been a while since I’ve worked on this stuff, huh?
Anyway, IndieAuth validation rules have changed for the better, so Authl has been updated accordingly.
There’s a few other changes as well:
- On IndieAuth profiles,
p-pronoun is treated as a fallback for p-pronouns
- The Flask templates add some
rel="nofollow" in some appropriate places
Posted Sunday, October 4 at 11:24 PM (5 years ago)
A mostly-bugfix update:
Path-Canonical/Path-Mount now works properly in conjunction with Auth
Path-Alias et al now support URL-encoded special characters for the path mapping
- Improved error handling; more cases of malformed and malicious URLs now result in a
400 Bad Request error instead of a 500 Internal Server Error
Posted Monday, September 21 at 1:48 AM (5 years ago)
Just some cleanups and usability fixes:
- Raise a 400 error on malformed URLs with known handling instead of 500
- Don’t include subcategories with no indexable entries (e.g. all
GONE/HIDDEN/etc.)
- Improve the admin dashboard
- Miscellaneous code cleanups
Also I forgot to announce v0.6.10, released back on September 1; the changes from v0.6.9 were:
- Let
401 Unauthorized status overcome a path alias
- Improve the tests
- Sort the “recent users” display on the admin dashboard
Posted Friday, August 14 at 10:18 AM (5 years ago)
Publ 0.6.9 is out and has the following changes:
- Removed the vestigial attempt at supporting AutoAuth
Path-alias now works for all URL paths, and not just ones which happened to match Publ’s routing rules
- Fixed a bug in formatted code blocks that was generating extra newlines per line
- Added user bearer token generation to the public API
- Changing a user’s permissions now correctly invalidates their rendition cache
Important: In the incredibly unlikely event you were using the token_endpoint function, that has been removed, along with the token endpoint itself.
Posted Sunday, August 2 at 2:37 AM (5 years ago)
Some pretty big new features added. First, in Authl:
- Major documentation improvements
- Bug fixes with Fediverse instance caching
- All providers now normalize to the same profile format
- Some basic spam prevention for the email provider
- 100% unit test coverage on the Fediverse provider (which is now using mastodon.py instead of a hand-rolled OAuth client)
And in Publ:
- Fenced code now uses
<figure> and <figcaption> instead of ad-hoc <div>s for its layout, and the overall HTML semantic has been greatly improved
- Individual code blocks are now configurable with respect to highlighting and line numbering
- The user object now provides a user profile and separates the identity URL from the familiar name
Posted Thursday, July 23 at 3:58 PM (5 years ago)
Since there’s now a lot more to PlaidWeb than just Publ, there is now a new organization website which will become the top-level home of these different things, which allows for better organization of this stuff to begin with.
While I’m still trying to work out how I’m going to organize things, my expectations are as follows:
- The Publ documentation and demo site will live at publ.plaidweb.site
- This dev/release blog will move to the main domain at some point
- Elements which don’t have their own website will get a microsite on the main domain
- Every incoming webmention that the old domain received will remain missing/broken in perpetuity (or at least until I get around to adding native webmentions to Publ)
Also, publ.beesbuzz.biz is intended to redirect over here, but it’s disappeared from my DNS host for some reason; it was actually this happening which inspired me to finally take this action. It seems to be a bug with how LiNode’s wildcard domains work, and I have an active support ticket open. Update: Turns out this was a subtle issue with how DNS wildcards work, which is explained below the cut.