WriteFreely

A clean, simple publishing platform made for writers. Write together, and build a community.

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

We've just released version 0.2! This includes a ton of basic fixes, especially around installation, and some bigger things like federation with Pleroma.

New Features

  • See how many fediverse followers your blogs have
  • WriteFreely now works with Pleroma

Application Fixes

  • Fix individual post ActivityStreams data fetching, so boosting works (#4)
  • Use WriteFreely avatars in social media image preview, instead of Write.as logo

Installation Fixes

  • Fix template loading on Windows (#2)
  • Fix database errors around default values (#3, #7)
  • Don't unnecessarily connect to DB after configuring multi-user instance
  • Show any errors when server start fails
  • Fix encryption key loading on Windows
  • Move encryption key generation from keys.sh to writefreely --gen-keys

Upgrading from v0.1

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: always keep config.ini and the files in your keys directory across all upgrades — don't delete or replace these manually.

Database migrations are manual for now! Fun! To upgrade, connect to your database and run:

ALTER TABLE `remoteusers` DROP `followers`;

#release

It's been several months since we launched ActivityPub support on Write.as and entered the fediverse. That was an exciting month, where we saw a ton of energy around what we're building, as well as plenty of people wishing we were open source.

As we said then, going open source for us wasn't going to be as simple as slapping a free license on our code and then distributing it. We care about doing this right from the start, and creating a self-hosted product people actually want to use. We also wanted to build a self-hosted blogging platform for everyone, including those outside the fediverse.

So we promised it'd be done by the end of the year, but it looks like New Year's is coming early this year. Today we're officially launching v0.1 of WriteFreely, our free, self-hosted version of Write.as.

WriteFreely lets you start your own community of writers, optionally with ActivityPub enabled, so you can join the larger fediverse and spread your writing on the decentralized social web. You'll be able to set up a space for your small gathering of writers, who can all create multiple blogs under one account, save drafts, and even customize their blogs with CSS. You can also use WriteFreely to host your own minimalist blog with the same distraction-free writing experience you love on Write.as.

This is just the beginning, and we're excited to finally get this out to the world. We'll be quickly moving toward version 1.0, but to get started with your own instance today, check out our guide.

#release

Enter your email to subscribe to updates.