Today we're excited to release WriteFreely v0.11! This is a huge update that includes many fixes and improvements, built-in automatic, free SSL certificates, support for our command-line client, and more moderation controls for multi-user instances.
Besides all of these improvements, this update come just over a year after our very first release, v0.1. Keep an eye out for a future post about the last year in review — a lot has happened!
Get the lastest release now (you'll notice it's v0.11.1), or jump into the updates below.
Automatic SSL certificates from Let's Encrypt (T542)
It's now even easier to start up a WriteFreely instance with free, automatic certificates from Let's Encrypt. With the application facing the public internet (i.e. not behind a reverse proxy), you can set a few configuration values to have WriteFreely generate the certificate for you.
For new instances, choose Production, standalone > Secure (port 443), auto certificate during the interactive setup process.
For existing instances, set
autocert = true and
tls_cert_path = certs (see config documentation for more information).
WriteFreely Command-Line Interface
We've released our first official WriteFreely client along with this version:
wf-cli! This is a simple command-line-based tool for publishing to one or many WriteFreely instances. It's perfect for tech-savvy users who don't want to leave their terminal window or anyone looking to build WriteFreely publishing into their desktop writing workflow — and it's available for Windows, Mac, Linux, and anywhere else you can build a Go application.
User-Facing Changes / Fixes
- Prevent transliterated slugs from exceeding character limit (#137)
- Don't consider posts unpublished when they have a title (#138)
- Blog 404 pages are now styled like the rest of the blog (T493)
- Fix missing hostname when publishing via API and support WriteFreely CLI (#144)
- Fix various minor issues with single-user instances (#145)
<audio>HTML element (#147)
- Fix future pinned posts showing in navigation (#158)
- Fix false logged-in state on failed login
titleattribute getting stripped on
- Add helpful instructions on invite links when logged in (T690)
- Publish to user's blog by default, instead of Drafts (T697)
- Fix blog URLs in CSV export (#205)
- Include Reader link in site-wide navigation while logged in
- Make header navigation on user and non-authenticated pages consistent
- Fix go-sitemap-generator overriding GOMAXPROCs (#86)
- Log server software and version on startup (#168)
- Fix crash on some duplicate ActivityPub follows (#159)
- Support setting a default visibility for all blogs (T675, #148)
- Support toning down WriteFreely promotion (T676, #149)
- Support using an alternative editor template (T677)
- Support customizing Reader page (T684)
- Support resetting user password from web-based UI (T695)
- Fix tar bomb on install (#160)
- Remove dependency on github.com/gogs/gogs/pkg/tool (#182)
- API endpoints will now honor
Accept: application/jsonheaders (not only
Experimental / In-Progress Work
User Silencing (T661)
Now instance admins can silence problematic users to make their writing inaccessible to the world and prevent further publishing. This strikes a balance between preventing further abuse and making reversible moderation decisions, as users will still be able to log in to their account and access their data.
As part of our new Write.as for Teams service, we're experimenting with an alternative configuration for admins that want their site to be more focused on the collective work of its writers, rather than on individuals. It's meant for businesses, organizations, and institutions that want to create more of a shared blog than provide individual blog hosting. It sets the Reader view as the home page, uses blog templates with global navigation, and has hashtags search across all public blogs.
This functionality is not at all finalized, and subject to change drastically without notice. We don't recommend enabling this in your configuration unless you're merely curious or want to provide feedback (which we highly encourage!).
Upgrading from v0.10.0
Download the latest release for your operating system. Stop running your
writefreely service, replace all files in your installation with the ones in the archive, and then start your
writefreely service again.
Now make sure your database is backed up, and update it with
No additional steps are needed to upgrade from v0.10.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
If you are running a custom build, note that there were style changes in this release. Run
make ui to generate the latest stylesheets.
Thanks for contributing to this release!