WriteFreely

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

Today we're happy to release WriteFreely v0.10, one of our largest updates yet.

This is a pretty important release for us. It brings together improvements driven by our thoughtful community and features that'll help us take the next step into our future — namely, one where WriteFreely helps organizations and groups effortlessly communicate via simple, open source tools.

For anyone running WriteFreely, this means more control over your community, starting with more customization in this version and better moderation in the next. Really, this is just the start. Let's jump in.

Major Features

Fully Private Instances (T576)

Communities looking for more privacy can now start up WriteFreely instances meant only for internal use. Just enable the private config value to make all blogs and content accessible only to authenticated users in your instance.

NOTE: this is a breaking change! This changes behavior for existing instances with the private config value already set to true. If you have it set, you should verify that the new behavior is what you want.

Landing Page Customization (T565, T574)

Now admins have two new ways to customize their multi-user instance:

Editing your landing page. Now you can change the content of your landing page from the Admin dashboard, including the banner text to the left of the signup form and the optional text below.

Changing the landing URL. For anyone who doesn't want to use their normal landing page — such as with closed or invite-only instances — this lets you set the URL that unauthenticated users go to when they first come to your site. For example, you might send them to your About page (/about) or your public Reader (/read).

User-Facing Changes / Fixes

  • Add Lithuanian translation (writeas/web-core#3)
  • Fix changing RTL setting back to LTR from web UI (#103, #110)
  • Fix federation with pubgate (#100, #111, #116)
  • Include pinned posts in JSON export (#112)
  • Include post title in exported txt files (#114)
  • Fix same-size 1st- and 2nd-level headings on blog index (#82)
  • Fix post deletion logic needed for WriteFreely CLI (#117)
  • Fix C syntax highlighting (#124)
  • Fix default background-color not set (#132)
  • Fix inconsistent naming / icons on post metadata page

Admin-Facing Changes

  • Landing URL is now editable (T574)
  • The private config option now makes an instance readable only by registered, authenticated users (T576)
  • New upgrade script
  • The --config command now automatically initializes the database, removing the need for --init-db during setup
  • Specify which part of the app configuration you want to edit with the new --sections flag, e.g. writefreely --config --section="app db server"
  • Landing page is now customizable (T565)

Developer-Facing Changes

  • Fix lessc installation on macOS and CentOS (#97, #99)
  • MathJax library is now a git submodule instead of directly included
  • The writefreely.Serve() func has been split out into multiple functions
  • Flag handling has moved out of the writefreely pkg to cmd/writefreely/main.go

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

@dariusk @gytisrepecka @robjloranger @joyeusenoelle @sandrockcstm @qwazix @mrvdb

#WriteFreely

Today's non-critical release fixes issues with new WriteFreely installations, introduced in the previous release (v0.9.0).

Admin-Facing Changes

  • Fix V2 migrations not run on a new instance (#92)
  • Fix Docker build with Go Modules enabled (#95)

Upgrading from v0.9.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.9.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.

Contributors

Thanks for contributing to this release!

@kaiyou

#WriteFreely

Today we released WriteFreely v0.9, featuring the past few months of fixes and improvements.

User-Facing Changes / Fixes

  • Fix hash symbols (#) wrongly recognized as hashtags inside code blocks (#6)
  • Hashtags without spaces between them are now properly parsed
  • Fix IsValidUsername check when PagesParentDir isn't current dir
  • Fix code blocks not highlighting when an invalid language is given (#81)
  • Strip HTML from meta descriptions (#83)
  • Add missing Apple touch icons (#77, #78)
  • Fix future-dated posts being immediately federated when moving from Draft to blog (#76)
  • Fix excessive space between paragraphs inside blockquotes

Minor Changes

  • Navigating to a non-existent invite ID now shows “Page not found” instead of “Server error”
  • On Export page: “zip” option now shows “txt” instead
  • Remove unused references to files.writeas.org resources

Admin-Facing Changes

  • Improve admin navigation
  • Move “About” and “Privacy” page editing off the dashboard to a new dedicated section
  • Add the ability to change “About” and “Privacy” page titles
  • Add Admin Dashboard link in backend navigation

Upgrading from v0.8.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.8.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 for contributing to this release!

@mrvdb

#WriteFreely

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

Enter your email to subscribe to updates.