Write Freely

Painless, federated, self-hosted blogging platform.

Today's #bugfix release includes an important fix for the install process, as well as a fix for anchor links.

User-facing Fixes

Install Fixes

  • Admin account isn't created correctly with —config (#71)
  • Use correct go get command in documentation

Admin-Facing Changes

  • Fix —create-user usage error message

Trivial Changes

  • Fix Write.as link in README

Upgrading from v0.8.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.

No additional steps are needed to upgrade from v0.8.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Contributors

Thanks for contributing to this release!

@mrvdb @SamWhited


P.S. Matt is at #FOSDEM in Brussels this weekend! Say hi and grab a WriteFreely sticker!

#WriteFreely

Our tenth release features a few major milestones we've been aiming for for a while: a smoother upgrade process, and a user invitation system.

Features

User Invites (T556)

Now it's even easier to run a private / invite-only community, with user invites. Admins have a new user_invites setting that can enable invite link generation for all users, admins only, or no users at all (the default). If enabled, users can create invite links to let others sign up for your WriteFreely instance, even if public registration is closed. Invite links can each be set to expire, or optionally have a maximum number of uses.

User-Facing Changes / Fixes

  • Fix spacing in sublists (#27)
  • Optimize web font loading (#65)

Admin-Facing Changes

  • Fixed Docker build (#57)
  • Support automated database migration with writefreely --migrate (T509)
  • Support configuring resource directories (T560 / #63)

Upgrading from v0.7.x

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 writefreely --migrate.

No additional steps are needed to upgrade from v0.7.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Developers

If you are running a custom build, note that there were style changes in this release. Run make ui to generate the latest stylesheets.

Contributors

Thanks to everyone who contributed to this release!

@kaiyou @nkoehring

#WriteFreely

Today's #bugfix release is a non-critical update for anyone currently running WriteFreely — you can skip it if you haven't been affected by any of the issues below.

You'll want to upgrade to this version if you're running WriteFreely on Windows, as it fixes a server error that prevents a blog's customize page from rendering (#61). With this fix, WF should be stable enough to run on Windows.

You'll also want to upgrade if you weren't able to successfully configure a single-user blog, whether backed by MySQL or SQLite, due to a database error (#59).

Fixes

  • Fix blog customize page not rendering on Windows (#61)
  • Initialize database during config step for single-user instance (#59)

Upgrading from v0.7.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.

No additional steps are needed to upgrade from v0.7.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.

#WriteFreely

Happy New Year! We took some time over the holiday season to relax a bit, slow down, and pause the weekly updates. But our first release of 2019 is here, featuring plenty of bug fixes (especially for SQLite users) and more admin tools as we prepare for our v1.0 launch.

Speaking of which — if you run your own instance, we're looking for your feedback on what features should make it into v1.0! We want to make sure we include everything you need to run your personal blog or writing community, so let us know over on the forums. Now for the updates:

Features

User Management

  • Admin user creation. Admins can now create a normal user from the command-line with: writefreely --create-user username:password
  • Users List (T553). Get an overview of all the users in your community with the new user list for admins. This is the foundation for future moderation features.

Changes

  • Use an en dash in the title of posts that are written in German, instead of em dash (#1)
  • Now you can build writefreely without SQLite support. To include support, compile with the sqlite build tag (this is the default with all make commands)
  • Blog names starting with a number now have an ActivityPub avatar

Fixes

  • Prevent creating users with invalid usernames via command-line (#49)
  • Fix metadata update for draft posts on single-user instances (#50)
  • Fix “Database user or password not set.” error when starting SQLite-backed instances (#54)
  • Fix user creation process hanging on SQLite-backed instances (#53)
  • Fix tagged post query on SQLite-backed instances (#55)
  • Fix ActivityPub follows on SQLite-backed instances (#56)

Upgrading from v0.6.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.

No additional steps are needed to upgrade from v0.6.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Developers

Some style changes were made in this version. If you are running a custom build / fork, run make ui to generate the latest stylesheets.

Contributors

Thanks for contributing to this release!

@geekgonecrazy

#WriteFreely

Today we're excited to launch our new service, WriteFreely.host! This is a fully-managed hosting service for anyone who wants to start their own writing community, powered by our software.

Instead of going through the technical work of installing WriteFreely yourself, with this new service we set up and host your site for you — that means we take care of maintenance, backups, and constant upgrades — all for one low monthly cost. To get started, all you need is a domain name.

Once you're up and running, you can choose what your community is about. Write your own about page and privacy policy through the admin control panel; Choose how many lightweight blogs everyone in your community gets; Enable federation to let your writers share their posts to the fediverse; Turn on the Reader to showcase everyone's work in one place.

You can also try out a demo to see what a WriteFreely community looks like!

To get this service off the ground, we're taking 50% off the normal rate for our first several customers. There are only a few spots left, so if you've ever wanted to start your own blogging community, now is a great time to get started!

#WriteFreely

Today's release features two major additions, one to make installation easier, and the other to make discovery easier. Let's jump in.

Features

SQLite support (T529)

You no longer need MySQL / MariaDB to store data for your instance! Just select SQLite during the configuration process to use it instead of the MySQL driver.

Reader / local timeline (T554)

Take a break from writing to see what others on your instance have written! Admins can now turn on the Local timeline option in the Admin panel ([app] local_timeline in config.ini) to enable this for both writers on your instance and the wider public. The local timeline functions just like Read Write.as — it includes an RSS feed, and is opt-in. Writers can start publishing their work on the feed by going into their blog settings and choosing the Public visibility option.

More changes

  • Ability to create admin user from the command-line with: --create-admin username:password (T544)
  • Specify non-default configuration file to use with various commands via new -c [filename] flag
  • Host highlight.js and MathJax locally, instead of on CloudFlare (T551)

Upgrading from v0.5.x

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.

No additional steps are needed to upgrade from v0.5.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Contributors

Thanks to everyone who contributed to this release!

@BenOvermyer @kaiyou

#WriteFreely

This week's release brings more admin control via the web UI and new ways to configure the application. It also finishes up support for syntax highlighting.

Features

  • Configure bind address with new bind configuration value (#38, #5)
  • Syntax highlighting support for all programming languages supported in highlight.js (#39)
  • Modify NodeInfo description with new site_description config value
  • Change admin values via the web admin UI (T541)

Fixes

  • Fix metadata editing in single-user mode (#40)
  • Always show stats on About page if public_stats enabled

Upgrading from v0.4.x

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.

No additional steps are needed to upgrade from v0.4.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Contributors

Thanks for contributing!

@mrvdb

This week's release features a few minor improvements, one of which removes the need for a reverse proxy in front of your WriteFreely installation.

Features

  • Work as a standalone server, with TLS (T537)
  • Code syntax highlighting (#31)

Functional Fixes

  • Fix About page link in Admin dashboard
  • Include About/Privacy page content in page description

Upgrading from v0.3.x

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.

No additional steps are needed to upgrade from v0.3.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Contributors

Thanks to everyone who contributed!

@mrvdb @koehn

Welcome to WriteFreely Release Monday! Yep, this is a thing now — a new major release every Monday. Let's get into this one, which brings a ton of stability improvements and new features like an admin dashboard!

Features

Admin panel

Dashboard

Now you can get a basic overview of your application on the admin dashboard. It shows you the app's resource utilization and provides helpful admin commands.

Currently, the first registered user is always an admin.

Page editing (T533)

Make your instance your own by updating your site's About and Privacy pages — now possible directly from the web. The editor accepts Markdown.

Other Features

  • Add --init-db flag to create schema in app (T530)
  • Add --reset-pass <username> option for resetting passwords (#25, T534)
  • Federate draft when published to a blog (#9, T526)
  • Support setting created date on new posts (T532)

Functional Fixes

  • Fix “view blog” links on customize page in single-user mode (#21)
  • Fix “Scheduled” badge appearing when application and database timezones are different (#23)
  • Prevent fatal errors when no ActivityPub response is returned
  • Change Accept activity ID to use blog's origin (#16)
  • Fix MathJax setting not sticking (#28)
  • Fix wrong collection data loaded in RSS feeds on multi-user instances
  • Fix feed and outbox post order in RSS feeds and ActivityPub outboxes
  • Fix em dashes and some glyphs by upgrading Lora

Others

  • Add -v flag for outputting version

Upgrading from v0.2.x

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.

Important: you'll want to keep config.ini and the files in your keys directory across all upgrades — don't delete or replace these manually.

You'll need to manually migrate your database for now. To upgrade, connect to your database and run:

CREATE TABLE IF NOT EXISTS `appcontent` (
  `id` varchar(36) NOT NULL,
  `content` mediumtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Optionally, run these queries to clean up bad data that might've shown up due to previous bugs, now fixed in this version.

-- Erroneous values inserted if you tried to enable MathJax on your blog (fixed in #28)
DELETE FROM `collectionattributes` WHERE collection_id = 0;

Development

This update contains some style changes. Run make ui to regenerate CSS after pulling in the latest changes.

Contributors

Thanks to our contributors!

@TheJF @BenOvermyer

#release

This #bugfix release includes a fix for following via ActivityPub, adds a login link to single-user instances, and fixes the database schema to work more often.

Application Fixes

  • Fix Accept activity IDs (#16)
  • Add login link to single-user blogs (#15)

Installation Fixes

  • Fix more schema issues (#18)

#release

Enter your email to subscribe to updates.