<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>WriteFreely</title>
    <link>https://blog.writefreely.org/</link>
    <description>A clean, simple publishing platform made for writers. Write together, and build a community.</description>
    <pubDate>Sat, 11 Apr 2026 20:53:28 +0000</pubDate>
    <item>
      <title>Version 0.16</title>
      <link>https://blog.writefreely.org/version-0-16?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[WriteFreely v0.16 is finally here, and it brings a ton of improvements, especially for the fediverse! We&#39;ve also fixed some long-standing issues, like hashtags on instances backed by MySQL 8.0.4+.&#xA;&#xA;Download v0.16.0 now, and read on to see what’s new in this version. !--more--&#xA;&#xA;Fediverse Likes&#xA;&#xA;You can now see how many people have &#34;liked&#34; your post from the fediverse! If your blog has federation enabled, readers in the fediverse can &#34;like&#34; your posts, and now they&#39;ll show up on WriteFreely as a simple count on your blog post (visible only to you).&#xA;&#xA;Improved Articles in the Fediverse&#xA;&#xA;WriteFreely posts now look even better across the fediverse, especially on microblogging platforms like Mastodon and Threads. Now these platforms (and any others that support the preview or summary fields on long-form Articles) will show an excerpt of your post along with a link to it.&#xA;&#xA;On ActivityPub platforms like Ghost that already support long-form Articles, your WriteFreely posts will come through in their full glory, as always.&#xA;&#xA;Fediverse Creator Tag&#xA;&#xA;We&#39;ve added support for the fediverse:creator tag, which will show another fediverse profile (such as your Mastodon account) alongside your WriteFreely posts.&#xA;&#xA;To add this tag to your posts, go to your blog&#39;s Customize page, and under Verification, re-enter your fediverse handle (e.g. @you@your.instance), and save your changes. Then, on your Mastodon instance, go to Edit Profile   Verification tab, and add your WriteFreely instance domain under the Author Attribution section. Then you&#39;re all set!&#xA;&#xA;User-Facing Changes&#xA;&#xA;Fix broken links in drafts loaded with &#34;load more&#34; (#1054) by @vtyeh in #1103&#xA;Support ActivityPub Likes by @thebaer in #1122, #1459&#xA;Add Archive page by @thebaer in #1128&#xA;Fix edit link missing on mobile browser (#358) by @sahilmulla in #1134&#xA;Fix ActivityPub following from Ghost by @thebaer in #1373&#xA;Fix hashtags on MySQL 8+ (#615) by @thebaer in #1461&#xA;Add preview property to Articles by @thebaer in #1374&#xA;Support exporting email subscribers list by @thebaer in #1258&#xA;Display fediverse:creator header tag on posts by @thebaer in #1253&#xA;Fix post signature showing up on blog&#39;s Post Not Found page by @thebaer in #1483&#xA;Fix error when moving publish post to draft (#1166) by @snullp in #1237&#xA;Use official WriteFreely docs for all help links by @thebaer in #1482&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Support SMTP email configuration by @thebaer in #1131 and by @jbgi in #1153&#xA;Docker for Production by @leo9800 in #1038&#xA;Fix two error messages: user create and user create --admin by @DonPiotr in #1127&#xA;Fix admin/user pagination (#363) by @snullp in #1165&#xA;Allow sending emails from EU Mailgun domains (fix #944) by @freesteph in #1155&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Fix WriteFreely build not starting on older OSes (#1064) due to glibc issue by @sahilmulla in #1116&#xA;Fix post update API response in text/plain, rather than JSON (#867), by @Anish-Parkhi in #988&#xA;Add link to the nanos unikernel package repository by @eyberg in #1247&#xA;Fix security context getting removed on AP collection endpoint by @thebaer in #1372&#xA;Add build for macOS arm64 by @thebaer in #1129&#xA;Bump to Go v1.23 by @thebaer in #1458&#xA;Fix builds for v0.16 release by @thebaer in #1460&#xA;&#xA;Dependencies and minor fixes&#xA;&#xA;Switch to gosimple/slug from writeas/slug by @thebaer in #1047&#xA;Bump golang.org/x/crypto from 0.24.0 to 0.28.0 by @dependabot\bot\] in [#1062&#xA;Bump golang.org/x/net from 0.26.0 to 0.39.0 by @dependabot\bot\] in [#1061, #1365&#xA;Bump github.com/fatih/color from 1.16.0 to 1.17.0 by @dependabot\bot\] in [#1036&#xA;Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 by @dependabot\bot\] in [#1034&#xA;Bump github.com/microcosm-cc/bluemonday from 1.0.26 to 1.0.27 by @dependabot\bot\] in [#1035&#xA;Bump github.com/urfave/cli/v2 from 2.27.4 to 2.27.6 by @dependabot\bot\] in [#1316&#xA;Bump github.com/mattn/go-sqlite3 from 1.14.21 to 1.14.28 by @dependabot\bot\] in [#1362&#xA;&#xA;Upgrading from v0.15.x or earlier&#xA;&#xA;Download the latest release for your operating system and architecture&#xA;&#xA;Stop running your writefreely server&#xA;&#xA;Replace all files in your installation (except for the keys directory) with the ones in the archive&#xA;&#xA;Update your database by running:&#xA;&#xA;       writefreely db migrate&#xA;   &#xA;   &#xA;Start your writefreely server again&#xA;&#xA;If you&#39;re upgrading from a much earlier version, follow the instructions in each previous release.&#xA;&#xA;New Contributors&#xA;&#xA;Thank you to all who contributed to this release!&#xA;&#xA;@leo9800 made their first contribution in #1038&#xA;@sahilmulla made their first contribution in #1116&#xA;@Anish-Parkhi made their first contribution in #988&#xA;@vtyeh made their first contribution in #1103&#xA;@DonPiotr made their first contribution in #1127&#xA;@freesteph made their first contribution in #1155&#xA;@eyberg made their first contribution in #1247&#xA;@jbgi made their first contribution in #1153&#xA;&#xA;Raw Changelog: v0.15.1...v0.16.0&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>WriteFreely v0.16 is finally here, and it brings a ton of improvements, especially for the fediverse! We&#39;ve also fixed some long-standing issues, like hashtags on instances backed by MySQL 8.0.4+.</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.16.0">Download v0.16.0 now</a></strong>, and read on to see what’s new in this version. </p>

<h3 id="fediverse-likes" id="fediverse-likes"><strong>Fediverse Likes</strong></h3>

<p>You can now see how many people have “liked” your post from the fediverse! If your blog has federation enabled, readers in the fediverse can “like” your posts, and now they&#39;ll show up on WriteFreely as a simple count on your blog post (visible only to you).</p>

<h3 id="improved-articles-in-the-fediverse" id="improved-articles-in-the-fediverse"><strong>Improved Articles in the Fediverse</strong></h3>

<p>WriteFreely posts now look even better across the fediverse, especially on microblogging platforms like Mastodon and Threads. Now these platforms (and any others that support the <code>preview</code> or <code>summary</code> fields on long-form Articles) will show an excerpt of your post along with a link to it.</p>

<p>On ActivityPub platforms like <a href="https://ghost.org/">Ghost</a> that already support long-form Articles, your WriteFreely posts will come through in their full glory, as always.</p>

<h3 id="fediverse-creator-tag" id="fediverse-creator-tag"><strong>Fediverse Creator Tag</strong></h3>

<p>We&#39;ve added support for the <a href="https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/"><code>fediverse:creator</code> tag</a>, which will show another fediverse profile (such as your Mastodon account) alongside your WriteFreely posts.</p>

<p>To add this tag to your posts, go to your blog&#39;s <em>Customize</em> page, and under Verification, re-enter your fediverse <strong>handle</strong> (e.g. <code><a href="/@/you@your.instance" class="u-url mention">@<span>you@your.instance</span></a></code>), and save your changes. Then, on your Mastodon instance, go to Edit Profile &gt; Verification tab, and add your WriteFreely instance domain under the Author Attribution section. Then you&#39;re all set!</p>

<h2 id="user-facing-changes" id="user-facing-changes"><strong>User-Facing Changes</strong></h2>
<ul><li>Fix broken links in drafts loaded with “load more” (<a href="https://github.com/writefreely/writefreely/issues/1054">#1054</a>) by <strong><a href="https://github.com/vtyeh">@vtyeh</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1103">#1103</a></li>
<li>Support ActivityPub Likes by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1122">#1122</a>, <a href="https://github.com/writefreely/writefreely/pull/1459">#1459</a></li>
<li>Add Archive page by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1128">#1128</a></li>
<li>Fix edit link missing on mobile browser (<a href="https://github.com/writefreely/writefreely/issues/358">#358</a>) by <strong><a href="https://github.com/sahilmulla">@sahilmulla</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1134">#1134</a></li>
<li>Fix ActivityPub following from Ghost by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1373">#1373</a></li>
<li>Fix hashtags on MySQL 8+ (<a href="https://github.com/writefreely/writefreely/issues/615">#615</a>) by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1461">#1461</a></li>
<li>Add <code>preview</code> property to Articles by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1374">#1374</a></li>
<li>Support exporting email subscribers list by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1258">#1258</a></li>
<li>Display <code>fediverse:creator</code> header tag on posts by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1253">#1253</a></li>
<li>Fix post signature showing up on blog&#39;s Post Not Found page by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1483">#1483</a></li>
<li>Fix error when moving publish post to draft (<a href="https://github.com/writefreely/writefreely/issues/1166">#1166</a>) by <strong><a href="https://github.com/snullp">@snullp</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1237">#1237</a></li>
<li>Use official WriteFreely docs for all help links by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1482">#1482</a></li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes"><strong>Admin-Facing Changes</strong></h2>
<ul><li>Support SMTP email configuration by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1131">#1131</a> and by <strong><a href="https://github.com/jbgi">@jbgi</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1153">#1153</a></li>
<li>Docker for Production by <strong><a href="https://github.com/leo9800">@leo9800</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1038">#1038</a></li>
<li>Fix two error messages: user create and user create —admin by <strong><a href="https://github.com/DonPiotr">@DonPiotr</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1127">#1127</a></li>
<li>Fix admin/user pagination (<a href="https://github.com/writefreely/writefreely/issues/363">#363</a>) by <strong><a href="https://github.com/snullp">@snullp</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1165">#1165</a></li>
<li>Allow sending emails from EU Mailgun domains (fix <a href="https://github.com/writefreely/writefreely/issues/944">#944</a>) by <strong><a href="https://github.com/freesteph">@freesteph</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1155">#1155</a></li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes"><strong>Developer-Facing Changes</strong></h2>
<ul><li>Fix WriteFreely build not starting on older OSes (<a href="https://github.com/writefreely/writefreely/issues/1064">#1064</a>) due to glibc issue by <strong><a href="https://github.com/sahilmulla">@sahilmulla</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1116">#1116</a></li>
<li>Fix post update API response in <code>text/plain</code>, rather than JSON (<a href="https://github.com/writefreely/writefreely/issues/867">#867</a>), by <strong><a href="https://github.com/Anish-Parkhi">@Anish-Parkhi</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/988">#988</a></li>
<li>Add link to the nanos unikernel package repository by <strong><a href="https://github.com/eyberg">@eyberg</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1247">#1247</a></li>
<li>Fix security context getting removed on AP collection endpoint by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1372">#1372</a></li>
<li>Add build for macOS arm64 by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1129">#1129</a></li>
<li>Bump to Go v1.23 by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1458">#1458</a></li>
<li>Fix builds for v0.16 release by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1460">#1460</a></li></ul>

<h3 id="dependencies-and-minor-fixes" id="dependencies-and-minor-fixes"><strong>Dependencies and minor fixes</strong></h3>
<ul><li>Switch to gosimple/slug from writeas/slug by <strong><a href="https://github.com/thebaer">@thebaer</a></strong> in <a href="https://github.com/writefreely/writefreely/pull/1047">#1047</a></li>
<li>Bump golang.org/x/crypto from 0.24.0 to 0.28.0 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1062">#1062</a></li>
<li>Bump golang.org/x/net from 0.26.0 to 0.39.0 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1061">#1061</a>, <a href="https://github.com/writefreely/writefreely/pull/1365">#1365</a></li>
<li>Bump github.com/fatih/color from 1.16.0 to 1.17.0 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1036">#1036</a></li>
<li>Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1034">#1034</a></li>
<li>Bump github.com/microcosm-cc/bluemonday from 1.0.26 to 1.0.27 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1035">#1035</a></li>
<li>Bump github.com/urfave/cli/v2 from 2.27.4 to 2.27.6 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1316">#1316</a></li>
<li>Bump github.com/mattn/go-sqlite3 from 1.14.21 to 1.14.28 by <strong><a href="https://github.com/dependabot">@dependabot</a></strong>[bot] in <a href="https://github.com/writefreely/writefreely/pull/1362">#1362</a></li></ul>

<h2 id="upgrading-from-v0-15-x-or-earlier" id="upgrading-from-v0-15-x-or-earlier"><strong>Upgrading from v0.15.x or earlier</strong></h2>
<ol><li><p>Download the latest release for your operating system and architecture</p></li>

<li><p>Stop running your <code>writefreely</code> server</p></li>

<li><p>Replace all files in your installation (<strong>except</strong> for the <code>keys</code> directory) with the ones in the archive</p></li>

<li><p>Update your database by running:</p></li></ol>

<pre><code>    writefreely db migrate
   
</code></pre>
<ol><li>Start your <code>writefreely</code> server again</li></ol>

<p>If you&#39;re upgrading from a much earlier version, follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a>.</p>

<h2 id="new-contributors" id="new-contributors"><strong>New Contributors</strong></h2>

<p>Thank you to all who contributed to this release!</p>
<ul><li><strong><a href="https://github.com/leo9800">@leo9800</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1038">#1038</a></li>
<li><strong><a href="https://github.com/sahilmulla">@sahilmulla</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1116">#1116</a></li>
<li><strong><a href="https://github.com/Anish-Parkhi">@Anish-Parkhi</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/988">#988</a></li>
<li><strong><a href="https://github.com/vtyeh">@vtyeh</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1103">#1103</a></li>
<li><strong><a href="https://github.com/DonPiotr">@DonPiotr</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1127">#1127</a></li>
<li><strong><a href="https://github.com/freesteph">@freesteph</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1155">#1155</a></li>
<li><strong><a href="https://github.com/eyberg">@eyberg</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1247">#1247</a></li>
<li><strong><a href="https://github.com/jbgi">@jbgi</a></strong> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/1153">#1153</a></li></ul>

<p><strong>Raw Changelog</strong>: <a href="https://github.com/writefreely/writefreely/compare/v0.15.1...v0.16.0">v0.15.1...v0.16.0</a></p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-16</guid>
      <pubDate>Fri, 29 Aug 2025 19:35:48 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.15.1</title>
      <link>https://blog.writefreely.org/version-0-15-1?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Our latest version of WriteFreely is out now! This is a minor update, but with some important bug fixes, especially around navigation and federation.&#xA;&#xA;Note: The official release binary will not work on older systems, e.g. Ubuntu 18.04 or earlier. See #1064 for more information and a way to work around it.&#xA;&#xA;Download v0.15.1 now, or read on to see what’s new in this version.&#xA;&#xA;!--more--&#xA;&#xA;User-Facing Changes&#xA;&#xA;Fix &#34;subscribed&#34; date not showing in Subscribers list by @elkcityhazard in #883&#xA;Ensure &#34;Import posts&#34; always shows in nav bar by @snullp in #878&#xA;Fix certain image formats in posts not getting extracted by @tkngaejcpi in #930&#xA;Fix Admin and Invite links never showing on Reader nav by @thebaer in #893&#xA;Correctly show 404 page on /sitemap.xml on multi-user instances by @thebaer in #1024&#xA;Fix following from GoToSocial and Takahe (#661) by @CDN18 in #1000&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Fix OAuth for applications requiring clientid and clientsecret during code exchange by @CDN18 in #1001&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Bump Go from v1.19 to v1.21 by @thebaer in #1025&#xA;Fix version number and healthcheck for Docker image by @claabs in #874&#xA;Add linux/arm64 platform support for docker by @CDN18 in #933&#xA;Fix Docker healthcheck with wget by @claabs in #894&#xA;&#xA;Dependencies and minor fixes&#xA;&#xA;Fix follow handle in nodeinfo by @thebaer in #1050&#xA;Update Phabricator URL in docs and PR template by @thebaer in #1023&#xA;Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #927&#xA;Bump golang.org/x/net from 0.20.0 to 0.22.0 by @dependabot in #982&#xA;Bump golang.org/x/crypto from 0.21.0 to 0.24.0 by @dependabot in #1014&#xA;Bump github.com/gorilla/sessions from 1.2.2 to 1.3.0 by @dependabot in #1013&#xA;Bump github.com/gorilla/schema from 1.2.1 to 1.4.1 by @dependabot in #1010&#xA;Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 by @dependabot in #984&#xA;Bump golang.org/x/net from 0.22.0 to 0.26.0 by @dependabot in #1011&#xA;Bump github.com/fatih/color from 1.16.0 to 1.17.0 by @dependabot in #997&#xA;Bump github.com/urfave/cli/v2 from 2.27.1 to 2.27.4 by @dependabot in #1026&#xA;&#xA;Upgrading from v0.15.0&#xA;&#xA;Download the latest release for your operating system and architecture&#xA;Stop running your writefreely server&#xA;Replace all files in your installation (except for the keys directory) with the ones in the archive&#xA;Start your writefreely server again&#xA;&#xA;Upgrading from v0.14.0 or earlier&#xA;&#xA;Before restarting writefreely, make sure your database is backed up, and then update it with:&#xA;&#xA;writefreely db migrate&#xA;&#xA;Follow the instructions in each previous release if you&#39;re upgrading from a much earlier version.&#xA;&#xA;New Contributors&#xA;@elkcityhazard made their first contribution in #883&#xA;@snullp made their first contribution in #878&#xA;@claabs made their first contribution in #874&#xA;@tkngaejcpi made their first contribution in #930&#xA;@CDN18 made their first contribution in #933&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>Our latest version of WriteFreely is out now! This is a minor update, but with some important bug fixes, especially around navigation and federation.</p>

<p><strong>Note</strong>: The official release binary will not work on older systems, e.g. Ubuntu 18.04 or earlier. See <a href="https://github.com/writefreely/writefreely/issues/1064">#1064</a> for more information and a way to work around it.</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.15.1">Download v0.15.1 now</a></strong>, or read on to see what’s new in this version.</p>



<h2 id="user-facing-changes" id="user-facing-changes">User-Facing Changes</h2>
<ul><li>Fix “subscribed” date not showing in Subscribers list by <a href="https://github.com/elkcityhazard">@elkcityhazard</a> in <a href="https://github.com/writefreely/writefreely/pull/883">#883</a></li>
<li>Ensure “Import posts” always shows in nav bar by <a href="https://github.com/snullp">@snullp</a> in <a href="https://github.com/writefreely/writefreely/pull/878">#878</a></li>
<li>Fix certain image formats in posts not getting extracted by <a href="https://github.com/tkngaejcpi">@tkngaejcpi</a> in <a href="https://github.com/writefreely/writefreely/pull/930">#930</a></li>
<li>Fix Admin and Invite links never showing on Reader nav by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/893">#893</a></li>
<li>Correctly show 404 page on /sitemap.xml on multi-user instances by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/1024">#1024</a></li>
<li>Fix following from GoToSocial and Takahe (#661) by <a href="https://github.com/CDN18">@CDN18</a> in <a href="https://github.com/writefreely/writefreely/pull/1000">#1000</a></li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Fix OAuth for applications requiring <code>client_id</code> and <code>client_secret</code> during code exchange by <a href="https://github.com/CDN18">@CDN18</a> in <a href="https://github.com/writefreely/writefreely/pull/1001">#1001</a></li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Bump Go from v1.19 to v1.21 by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/1025">#1025</a></li>
<li>Fix version number and healthcheck for Docker image by <a href="https://github.com/claabs">@claabs</a> in <a href="https://github.com/writefreely/writefreely/pull/874">#874</a></li>
<li>Add linux/arm64 platform support for docker by <a href="https://github.com/CDN18">@CDN18</a> in <a href="https://github.com/writefreely/writefreely/pull/933">#933</a></li>
<li>Fix Docker healthcheck with wget by <a href="https://github.com/claabs">@claabs</a> in <a href="https://github.com/writefreely/writefreely/pull/894">#894</a></li></ul>

<h3 id="dependencies-and-minor-fixes" id="dependencies-and-minor-fixes">Dependencies and minor fixes</h3>
<ul><li>Fix <code>follow</code> handle in nodeinfo by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/1050">#1050</a></li>
<li>Update Phabricator URL in docs and PR template by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/1023">#1023</a></li>
<li>Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/927">#927</a></li>
<li>Bump golang.org/x/net from 0.20.0 to 0.22.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/982">#982</a></li>
<li>Bump golang.org/x/crypto from 0.21.0 to 0.24.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/1014">#1014</a></li>
<li>Bump github.com/gorilla/sessions from 1.2.2 to 1.3.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/1013">#1013</a></li>
<li>Bump github.com/gorilla/schema from 1.2.1 to 1.4.1 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/1010">#1010</a></li>
<li>Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/984">#984</a></li>
<li>Bump golang.org/x/net from 0.22.0 to 0.26.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/1011">#1011</a></li>
<li>Bump github.com/fatih/color from 1.16.0 to 1.17.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/997">#997</a></li>
<li>Bump github.com/urfave/cli/v2 from 2.27.1 to 2.27.4 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/1026">#1026</a></li></ul>

<h2 id="upgrading-from-v0-15-0" id="upgrading-from-v0-15-0">Upgrading from v0.15.0</h2>
<ol><li>Download the latest release for your operating system and architecture</li>
<li>Stop running your <code>writefreely</code> server</li>
<li>Replace all files in your installation (except for the <code>keys</code> directory) with the ones in the archive</li>
<li>Start your <code>writefreely</code> server again</li></ol>

<h3 id="upgrading-from-v0-14-0-or-earlier" id="upgrading-from-v0-14-0-or-earlier">Upgrading from v0.14.0 or earlier</h3>

<p>Before restarting <code>writefreely</code>, <strong>make sure your database is backed up</strong>, and then update it with:</p>

<pre><code>writefreely db migrate
</code></pre>

<p>Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from a much earlier version.</p>

<h2 id="new-contributors" id="new-contributors">New Contributors</h2>
<ul><li><a href="https://github.com/elkcityhazard">@elkcityhazard</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/883">#883</a></li>
<li><a href="https://github.com/snullp">@snullp</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/878">#878</a></li>
<li><a href="https://github.com/claabs">@claabs</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/874">#874</a></li>
<li><a href="https://github.com/tkngaejcpi">@tkngaejcpi</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/930">#930</a></li>
<li><a href="https://github.com/CDN18">@CDN18</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/933">#933</a></li></ul>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-15-1</guid>
      <pubDate>Sat, 05 Oct 2024 20:06:11 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.15</title>
      <link>https://blog.writefreely.org/version-0-15?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Our first release of 2024 is here! This one features many small improvements and fixes, plus a big new feature many people have asked for: newsletters / email subscriptions!&#xA;&#xA;Download v0.15.0 now, or read on to see what’s new in this version.&#xA;&#xA;!--more--&#xA;&#xA;Major Features&#xA;&#xA;Newsletters / subscribe by email (#478)&#xA;&#xA;Now readers can subscribe to receive blog posts via email! Connect an email service to enable email subscriptions and automated password resets (#777). Admins can enable this with the new email] section in their configuration file -- [see the documentation for instructions on setting this up.&#xA;&#xA;Note: today, WriteFreely only supports Mailgun as an email service -- but our next release will support plain SMTP, so you can use any provider you want to.&#xA;&#xA;View fediverse followers and email subscribers (#775)&#xA;&#xA;For instances with federation enabled, authors can now privately see who is following them from the fediverse via the new Subscribers page. This page also shows everyone subscribed to updates via email, if enabled.&#xA;&#xA;User-Facing Changes&#xA;&#xA;Performance: Add index to improve post retrieval speed on large instances by @thebaer in #778&#xA;Fix fonts not getting applied on first load by @thebaer in #774&#xA;Conditionally use twitter large summary card format when an image is available by @heyakyra in #799&#xA;Protect drafts if they are part of a Private or Protected collection by @isaacsu in #528&#xA;Add Contact page links to footers by @thebaer in #823&#xA;fix: RTL support on post textarea by @andi1984 in #826&#xA;&#xA;Small Changes and Fixes&#xA;&#xA;Fix use of NOW() when getting tagged posts by @blujan in #785&#xA;Prevent 500 errors on too-long collection title or description by @thebaer in #782&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Look for custom CSS in staticparentdir by @thebaer in #822&#xA;Dockerfile by @d4rklynk in #828&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Spelling by @jsoref in #658&#xA;Add editorconfig by @clarfonthey in #545&#xA;Plumbing: login via emailed link by @thebaer in #776&#xA;Correctly respond to application/ld+json requests, part 2 by @thebaer in #779&#xA;Ensure Update activities work with Mastodon by @thebaer in #781&#xA;Fix Collection property serialization on API by @thebaer in #854&#xA;&#xA;Dependencies&#xA;&#xA;Bump github.com/writeas/web-core from 1.5.0 to 1.6.0 by @dependabot in #768&#xA;Bump golang.org/x/crypto from 0.13.0 to 0.18.0 by @dependabot in #809, #855&#xA;Bump golang.org/x/net from 0.15.0 to 0.20.0 by @dependabot in #810, #856&#xA;Bump github.com/microcosm-cc/bluemonday from 1.0.25 to 1.0.26 by @dependabot in #811&#xA;Bump github.com/gorilla/csrf from 1.7.1 to 1.7.2 by @dependabot in #833&#xA;Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #834&#xA;Bump github.com/gorilla/sessions from 1.2.1 to 1.2.2 by @dependabot in #836&#xA;Bump github.com/fatih/color from 1.15.0 to 1.16.0 by @dependabot in #837&#xA;Bump github.com/gorilla/feeds from 1.1.1 to 1.1.2 by @dependabot in #838&#xA;Bump github.com/gorilla/schema from 1.2.0 to 1.2.1 by @dependabot in #841&#xA;Bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.21 by @dependabot in #848, #861&#xA;Bump github.com/urfave/cli/v2 from 2.25.7 to 2.27.1 by @dependabot in #849&#xA;&#xA;Upgrading from v0.14.0&#xA;&#xA;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.&#xA;&#xA;Now make sure your database is backed up, and then update it with:&#xA;&#xA;writefreely db migrate&#xA;&#xA;No additional steps are needed to upgrade from v0.14.0 or v0.13.x. Follow the instructions in each previous release if you&#39;re upgrading from an earlier version.&#xA;&#xA;New Contributors&#xA;&#xA;Thanks to everyone who contributed to this release of WriteFreely!&#xA;&#xA;@jsoref made their first contribution in #658&#xA;@blujan made their first contribution in #785&#xA;@heyakyra made their first contribution in #799&#xA;@isaacsu made their first contribution in #528&#xA;@d4rklynk made their first contribution in #828&#xA;@andi1984 made their first contribution in #826]]&gt;</description>
      <content:encoded><![CDATA[<p>Our first release of 2024 is here! This one features many small improvements and fixes, plus a big new feature many people have asked for: newsletters / email subscriptions!</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.15.0">Download v0.15.0 now</a></strong>, or read on to see what’s new in this version.</p>



<h2 id="major-features" id="major-features">Major Features</h2>

<p><strong>Newsletters / subscribe by email</strong> (<a href="https://github.com/writefreely/writefreely/pull/478">#478</a>)</p>

<p>Now readers can subscribe to receive blog posts via email! Connect an email service to enable email subscriptions and automated password resets (<a href="https://github.com/writefreely/writefreely/pull/777">#777</a>). Admins can enable this with the new <code>[email]</code> section in their configuration file — <a href="https://writefreely.org/docs/v0.15.0/admin/config#email">see the documentation</a> for instructions on setting this up.</p>

<p><em>Note:</em> today, WriteFreely only supports <a href="https://mailgun.com/">Mailgun</a> as an email service — but our next release will support plain SMTP, so you can use any provider you want to.</p>

<p><strong>View fediverse followers and email subscribers</strong> (<a href="https://github.com/writefreely/writefreely/pull/775">#775</a>)</p>

<p>For instances with federation enabled, authors can now privately see who is following them from the fediverse via the new <strong>Subscribers</strong> page. This page also shows everyone subscribed to updates via email, if enabled.</p>

<h2 id="user-facing-changes" id="user-facing-changes">User-Facing Changes</h2>
<ul><li>Performance: Add index to improve post retrieval speed on large instances by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/778">#778</a></li>
<li>Fix fonts not getting applied on first load by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/774">#774</a></li>
<li>Conditionally use twitter large summary card format when an image is available by <a href="https://github.com/heyakyra">@heyakyra</a> in <a href="https://github.com/writefreely/writefreely/pull/799">#799</a></li>
<li>Protect drafts if they are part of a Private or Protected collection by <a href="https://github.com/isaacsu">@isaacsu</a> in <a href="https://github.com/writefreely/writefreely/pull/528">#528</a></li>
<li>Add Contact page links to footers by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/823">#823</a></li>
<li>fix: RTL support on post textarea by <a href="https://github.com/andi1984">@andi1984</a> in <a href="https://github.com/writefreely/writefreely/pull/826">#826</a></li></ul>

<h3 id="small-changes-and-fixes" id="small-changes-and-fixes">Small Changes and Fixes</h3>
<ul><li>Fix use of NOW() when getting tagged posts by <a href="https://github.com/blujan">@blujan</a> in <a href="https://github.com/writefreely/writefreely/pull/785">#785</a></li>
<li>Prevent 500 errors on too-long collection title or description by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/782">#782</a></li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Look for custom CSS in static<em>parent</em>dir by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/822">#822</a></li>
<li>Dockerfile by <a href="https://github.com/d4rklynk">@d4rklynk</a> in <a href="https://github.com/writefreely/writefreely/pull/828">#828</a></li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Spelling by <a href="https://github.com/jsoref">@jsoref</a> in <a href="https://github.com/writefreely/writefreely/pull/658">#658</a></li>
<li>Add editorconfig by <a href="https://github.com/clarfonthey">@clarfonthey</a> in <a href="https://github.com/writefreely/writefreely/pull/545">#545</a></li>
<li>Plumbing: login via emailed link by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/776">#776</a></li>
<li>Correctly respond to application/ld+json requests, part 2 by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/779">#779</a></li>
<li>Ensure Update activities work with Mastodon by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/781">#781</a></li>
<li>Fix Collection property serialization on API by <a href="https://github.com/thebaer">@thebaer</a> in <a href="https://github.com/writefreely/writefreely/pull/854">#854</a></li></ul>

<h3 id="dependencies" id="dependencies">Dependencies</h3>
<ul><li>Bump github.com/writeas/web-core from 1.5.0 to 1.6.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/768">#768</a></li>
<li>Bump golang.org/x/crypto from 0.13.0 to 0.18.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/809">#809</a>, <a href="https://github.com/writefreely/writefreely/pull/855">#855</a></li>
<li>Bump golang.org/x/net from 0.15.0 to 0.20.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/810">#810</a>, <a href="https://github.com/writefreely/writefreely/pull/856">#856</a></li>
<li>Bump github.com/microcosm-cc/bluemonday from 1.0.25 to 1.0.26 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/811">#811</a></li>
<li>Bump github.com/gorilla/csrf from 1.7.1 to 1.7.2 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/833">#833</a></li>
<li>Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/834">#834</a></li>
<li>Bump github.com/gorilla/sessions from 1.2.1 to 1.2.2 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/836">#836</a></li>
<li>Bump github.com/fatih/color from 1.15.0 to 1.16.0 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/837">#837</a></li>
<li>Bump github.com/gorilla/feeds from 1.1.1 to 1.1.2 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/838">#838</a></li>
<li>Bump github.com/gorilla/schema from 1.2.0 to 1.2.1 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/841">#841</a></li>
<li>Bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.21 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/848">#848</a>, <a href="https://github.com/writefreely/writefreely/pull/861">#861</a></li>
<li>Bump github.com/urfave/cli/v2 from 2.25.7 to 2.27.1 by <a href="https://github.com/dependabot">@dependabot</a> in <a href="https://github.com/writefreely/writefreely/pull/849">#849</a></li></ul>

<h2 id="upgrading-from-v0-14-0" id="upgrading-from-v0-14-0">Upgrading from v0.14.0</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>Now <strong>make sure your database is backed up</strong>, and then update it with:</p>

<pre><code>writefreely db migrate
</code></pre>

<p>No additional steps are needed to upgrade from <strong>v0.14.0</strong> or <strong>v0.13.x</strong>. Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="new-contributors" id="new-contributors">New Contributors</h2>

<p>Thanks to everyone who contributed to this release of WriteFreely!</p>
<ul><li><a href="https://github.com/jsoref">@jsoref</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/658">#658</a></li>
<li><a href="https://github.com/blujan">@blujan</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/785">#785</a></li>
<li><a href="https://github.com/heyakyra">@heyakyra</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/799">#799</a></li>
<li><a href="https://github.com/isaacsu">@isaacsu</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/528">#528</a></li>
<li><a href="https://github.com/d4rklynk">@d4rklynk</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/828">#828</a></li>
<li><a href="https://github.com/andi1984">@andi1984</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/826">#826</a></li></ul>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-15</guid>
      <pubDate>Sat, 03 Feb 2024 10:54:56 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.14</title>
      <link>https://blog.writefreely.org/version-0-14?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Our next release is here, with a ton of improvements and fixes from the last year!&#xA;&#xA;Download v0.14.0 now, or read on to see what’s new in this version.&#xA;&#xA;!--more--&#xA;&#xA;Major Features&#xA;&#xA;Fediverse verification (#771)&#xA;&#xA;Verify that your WriteFreely blog on fediverse platforms like Mastodon! Simply go to your blog&#39;s Customize page under the Verification section, and enter your fediverse handle or URL. It will place an invisible tag on your blog, so the other platform can verify that the blog is yours. You can also insert a rel=&#34;me&#34; link in your blog bio.&#xA;&#xA;Contact Page (#772)&#xA;&#xA;Admins on multi-user instances can add a Contact page, so members and visitors know how to get in touch. Add your email address, fediverse handle, or any other method you want people to know to reach you!&#xA;&#xA;User-Facing Changes&#xA;&#xA;Show post excerpt in stats list when no post title (#540)&#xA;Log user out when authenticated as deleted user (#483)&#xA;Make 404 error message friendlier (#521)&#xA;Remove rel=nofollow on single-user blogs (#314, #482)&#xA;Support filtering blog posts by language (#508, T805)&#xA;Direct users to Contact page on 500 server error (#684, #772)&#xA;&#xA;Minor Changes&#xA;&#xA;Remove mention of Coil on Customize page (#720, #765)&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Support custom instance-level stylesheets with static/local/custom.css file (#533)&#xA;Support running on Unix socket (#543)&#xA;Catch and output directory walking errors (#620, #621)&#xA;Fix segmentation fault related to DNS (#675, #691)&#xA;Fix insertion failure for certain OAuth providers (#516, #618)&#xA;Support using MySQL without a password (#568, #770)&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Fix cross-compilation (#565, #597, #703)&#xA;Strip debugging information (#638)&#xA;Correctly respond to application/ld+json requests (#564, #766)&#xA;Fix monthly active user stats (#769)&#xA;Code cleanup (#728, #729, #730)&#xA;WriteFreely now requires Go v1.19 or later to compile&#xA;Bump github.com/manifoldco/promptui from 0.8.0 to 0.9.0 (#554)&#xA;Bump github.com/gorilla/sessions from 1.2.0 to 1.2.1 (#562)&#xA;Bump github.com/fatih/color from 1.10.0 to 1.15.0 (#563, #670)&#xA;Bump github.com/gorilla/csrf from 1.7.0 to 1.7.1 (#560)&#xA;Bump docker/build-push-action from 3.0.0 to 5.0.0 (#586, #717, #759)&#xA;Bump docker/login-action from 2.0.0 to 3.0.0 (#587, #711, #760)&#xA;Bump docker/metadata-action from 4.0.1 to 4.6.0 (#589, #716)&#xA;Bump github.com/stretchr/testify from 1.7.0 to 1.8.4 (#591, #709)&#xA;Bump github.com/mattn/go-sqlite3 from 1.14.6 to 1.14.17 (#594, #708)&#xA;Bump github.com/urfave/cli/v2 from 2.5.1 to 2.25.7 (#596, #723)&#xA;Bump github.com/go-ini/ini from 1.66.4 to 1.67.0 (#605)&#xA;Bump github.com/writeas/web-core from 1.4.1-0.20220118212728-0da0bcaf018e to 1.5.0 (#657, #737)&#xA;Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.13.0 (#672, #749, #754)&#xA;Bump github.com/microcosm-cc/bluemonday from 1.0.21 to 1.0.25 (#666, #705, #736)&#xA;Bump github.com/dustin/go-humanize from 1.0.0 to 1.0.1 (#644)&#xA;Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.1 (#617, #692)&#xA;Bump golang.org/x/net from 0.9.0 to 0.15.0 (#721, #738, #753)&#xA;Bump github.com/guregu/null from 3.5.0+incompatible to 4.0.0+incompatible (#556)&#xA;Bump actions/checkout from 3 to 4 (#750)&#xA;&#xA;Upgrading from v0.13.x&#xA;&#xA;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.&#xA;&#xA;Now make sure your database is backed up, and then update it with:&#xA;&#xA;writefreely db migrate&#xA;&#xA;No additional steps are needed to upgrade from v0.13.x. Follow the instructions in each previous release if you&#39;re upgrading from an earlier version.&#xA;&#xA;New Contributors&#xA;&#xA;Thanks to everyone who contributed to this WriteFreely release!&#xA;&#xA;@lpar made their first contribution in https://github.com/writefreely/writefreely/pull/610&#xA;@clarfonthey made their first contribution in https://github.com/writefreely/writefreely/pull/543&#xA;@ilteriseroglu-ty made their first contribution in https://github.com/writefreely/writefreely/pull/597&#xA;@zer-far made their first contribution in https://github.com/writefreely/writefreely/pull/638&#xA;@eli-oat made their first contribution in https://github.com/writefreely/writefreely/pull/521&#xA;@Timshel made their first contribution in https://github.com/writefreely/writefreely/pull/618&#xA;@lstellway made their first contribution in https://github.com/writefreely/writefreely/pull/752&#xA;@testwill made their first contribution in https://github.com/writefreely/writefreely/pull/728&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>Our next release is here, with a ton of improvements and fixes from the last year!</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.14.0">Download v0.14.0 now</a></strong>, or read on to see what’s new in this version.</p>



<h2 id="major-features" id="major-features">Major Features</h2>

<p><strong>Fediverse verification (<a href="https://writefreely.org/issues/771">#771</a>)</strong></p>

<p>Verify that your WriteFreely blog on fediverse platforms <a href="https://joinmastodon.org/verification">like Mastodon</a>! Simply go to your blog&#39;s <strong>Customize</strong> page under the <strong>Verification</strong> section, and enter your fediverse handle or URL. It will place an invisible tag on your blog, so the other platform can verify that the blog is yours. You can also insert a <code>rel=&#34;me&#34;</code> link in your blog bio.</p>

<p><strong>Contact Page (<a href="https://writefreely.org/issues/772">#772</a>)</strong></p>

<p>Admins on multi-user instances can add a <strong>Contact</strong> page, so members and visitors know how to get in touch. Add your email address, fediverse handle, or any other method you want people to know to reach you!</p>

<h2 id="user-facing-changes" id="user-facing-changes">User-Facing Changes</h2>
<ul><li>Show post excerpt in stats list when no post title (<a href="https://writefreely.org/issues/540">#540</a>)</li>
<li>Log user out when authenticated as deleted user (<a href="https://writefreely.org/issues/483">#483</a>)</li>
<li>Make 404 error message friendlier (<a href="https://writefreely.org/issues/521">#521</a>)</li>
<li>Remove rel=nofollow on single-user blogs (<a href="https://writefreely.org/issues/314">#314</a>, #482)</li>
<li>Support filtering blog posts by language (<a href="https://writefreely.org/issues/508">#508</a>, <a href="https://writefreely.org/tasks/805">T805</a>)</li>
<li>Direct users to Contact page on 500 server error (<a href="https://writefreely.org/issues/684">#684</a>, #772)</li></ul>

<h3 id="minor-changes" id="minor-changes">Minor Changes</h3>
<ul><li>Remove mention of Coil on Customize page (<a href="https://writefreely.org/issues/720">#720</a>, #765)</li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Support custom instance-level stylesheets with <code>static/local/custom.css</code> file (<a href="https://writefreely.org/issues/533">#533</a>)</li>
<li>Support running on Unix socket (<a href="https://writefreely.org/issues/543">#543</a>)</li>
<li>Catch and output directory walking errors (<a href="https://writefreely.org/issues/620">#620</a>, #621)</li>
<li>Fix segmentation fault related to DNS (<a href="https://writefreely.org/issues/675">#675</a>, #691)</li>
<li>Fix insertion failure for certain OAuth providers (<a href="https://writefreely.org/issues/516">#516</a>, #618)</li>
<li>Support using MySQL without a password (<a href="https://writefreely.org/issues/568">#568</a>, #770)</li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Fix cross-compilation (<a href="https://writefreely.org/issues/565">#565</a>, #597, #703)</li>
<li>Strip debugging information (<a href="https://writefreely.org/issues/638">#638</a>)</li>
<li>Correctly respond to application/ld+json requests (<a href="https://writefreely.org/issues/564">#564</a>, #766)</li>
<li>Fix monthly active user stats (<a href="https://writefreely.org/issues/769">#769</a>)</li>
<li>Code cleanup (<a href="https://writefreely.org/issues/728">#728</a>, #729, #730)</li>
<li>WriteFreely now requires Go v1.19 or later to compile</li>
<li>Bump github.com/manifoldco/promptui from 0.8.0 to 0.9.0 (<a href="https://writefreely.org/issues/554">#554</a>)</li>
<li>Bump github.com/gorilla/sessions from 1.2.0 to 1.2.1 (<a href="https://writefreely.org/issues/562">#562</a>)</li>
<li>Bump github.com/fatih/color from 1.10.0 to 1.15.0 (<a href="https://writefreely.org/issues/563">#563</a>, #670)</li>
<li>Bump github.com/gorilla/csrf from 1.7.0 to 1.7.1 (<a href="https://writefreely.org/issues/560">#560</a>)</li>
<li>Bump docker/build-push-action from 3.0.0 to 5.0.0 (<a href="https://writefreely.org/issues/586">#586</a>, #717, #759)</li>
<li>Bump docker/login-action from 2.0.0 to 3.0.0 (<a href="https://writefreely.org/issues/587">#587</a>, #711, #760)</li>
<li>Bump docker/metadata-action from 4.0.1 to 4.6.0 (<a href="https://writefreely.org/issues/589">#589</a>, #716)</li>
<li>Bump github.com/stretchr/testify from 1.7.0 to 1.8.4 (<a href="https://writefreely.org/issues/591">#591</a>, #709)</li>
<li>Bump github.com/mattn/go-sqlite3 from 1.14.6 to 1.14.17 (<a href="https://writefreely.org/issues/594">#594</a>, #708)</li>
<li>Bump github.com/urfave/cli/v2 from 2.5.1 to 2.25.7 (<a href="https://writefreely.org/issues/596">#596</a>, #723)</li>
<li>Bump github.com/go-ini/ini from 1.66.4 to 1.67.0 (<a href="https://writefreely.org/issues/605">#605</a>)</li>
<li>Bump github.com/writeas/web-core from 1.4.1-0.20220118212728-0da0bcaf018e to 1.5.0 (<a href="https://writefreely.org/issues/657">#657</a>, #737)</li>
<li>Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.13.0 (<a href="https://writefreely.org/issues/672">#672</a>, #749, #754)</li>
<li>Bump github.com/microcosm-cc/bluemonday from 1.0.21 to 1.0.25 (<a href="https://writefreely.org/issues/666">#666</a>, #705, #736)</li>
<li>Bump github.com/dustin/go-humanize from 1.0.0 to 1.0.1 (<a href="https://writefreely.org/issues/644">#644</a>)</li>
<li>Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.1 (<a href="https://writefreely.org/issues/617">#617</a>, #692)</li>
<li>Bump golang.org/x/net from 0.9.0 to 0.15.0 (<a href="https://writefreely.org/issues/721">#721</a>, #738, #753)</li>
<li>Bump github.com/guregu/null from 3.5.0+incompatible to 4.0.0+incompatible (<a href="https://writefreely.org/issues/556">#556</a>)</li>
<li>Bump actions/checkout from 3 to 4 (<a href="https://writefreely.org/issues/750">#750</a>)</li></ul>

<h2 id="upgrading-from-v0-13-x" id="upgrading-from-v0-13-x">Upgrading from v0.13.x</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>Now <strong>make sure your database is backed up</strong>, and then update it with:</p>

<pre><code>writefreely db migrate
</code></pre>

<p>No additional steps are needed to upgrade from <strong>v0.13.x</strong>. Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="new-contributors" id="new-contributors">New Contributors</h2>

<p>Thanks to everyone who contributed to this WriteFreely release!</p>
<ul><li><a href="https://github.com/lpar">@lpar</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/610">https://github.com/writefreely/writefreely/pull/610</a></li>
<li><a href="https://github.com/clarfonthey">@clarfonthey</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/543">https://github.com/writefreely/writefreely/pull/543</a></li>
<li><a href="https://github.com/ilteriseroglu">@ilteriseroglu</a>-ty made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/597">https://github.com/writefreely/writefreely/pull/597</a></li>
<li><a href="https://github.com/zer">@zer</a>-far made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/638">https://github.com/writefreely/writefreely/pull/638</a></li>
<li><a href="https://github.com/eli">@eli</a>-oat made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/521">https://github.com/writefreely/writefreely/pull/521</a></li>
<li><a href="https://github.com/Timshel">@Timshel</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/618">https://github.com/writefreely/writefreely/pull/618</a></li>
<li><a href="https://github.com/lstellway">@lstellway</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/752">https://github.com/writefreely/writefreely/pull/752</a></li>
<li><a href="https://github.com/testwill">@testwill</a> made their first contribution in <a href="https://github.com/writefreely/writefreely/pull/728">https://github.com/writefreely/writefreely/pull/728</a></li></ul>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-14</guid>
      <pubDate>Fri, 22 Sep 2023 20:05:07 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.13.2</title>
      <link>https://blog.writefreely.org/version-0-13-2?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[After a long break, our next release is finally here! This includes some important bugfixes, plus minor improvements and updates.&#xA;&#xA;Download v0.13.2 now, or read on to see what’s new in this version.&#xA;&#xA;!--more--&#xA;&#xA;User-Facing Changes&#xA;&#xA;Fix Gopher collections query (#501)&#xA;Fix date format in anonymous posts (#503)&#xA;Use relative URLs for static assets (#505)&#xA;Fix external user ID recording for Gitea OAuth (#514)&#xA;Fix blog monetization updates when using SQLite (#495)&#xA;Ensure link URLs and image alt text don&#39;t get included in the slug (T329, #520)&#xA;Improve keyboard navigation&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Fix crash on empty post title&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Upgrade bluemonday from 1.0.5 to 1.0.21&#xA;Upgrade ini pkg to v1.66.4&#xA;Ignore post created date when empty on publish&#xA;&#xA;Release updates&#xA;&#xA;NOTE: There is a blocking bug with our upstream tool, xgo, that helps us cross-compile WriteFreely: techknowlogick/xgo#155. Because of this, we&#39;ll only release linux-amd64 builds for the foreseeable future.&#xA;&#xA;Upgrading from v0.13.x&#xA;&#xA;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.&#xA;&#xA;No additional steps are needed to upgrade from v0.13.0. Follow the instructions in each previous release if you&#39;re upgrading from an earlier version.&#xA;&#xA;Contributors&#xA;&#xA;Thanks to everyone who contributed bug reports, code, and code review to this release!&#xA;&#xA;@thebaer&#xA;@StJudeWasHere&#xA;@egon0&#xA;@gytisrepecka &#xA;@lt3Dev&#xA;@viasux&#xA;@clausecker&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>After a long break, our next release is finally here! This includes some important bugfixes, plus minor improvements and updates.</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.13.2">Download v0.13.2 now</a></strong>, or read on to see what’s new in this version.</p>



<h2 id="user-facing-changes" id="user-facing-changes">User-Facing Changes</h2>
<ul><li>Fix Gopher collections query (<a href="https://writefreely.org/issues/501">#501</a>)</li>
<li>Fix date format in anonymous posts (<a href="https://writefreely.org/issues/503">#503</a>)</li>
<li>Use relative URLs for static assets (<a href="https://writefreely.org/issues/505">#505</a>)</li>
<li>Fix external user ID recording for Gitea OAuth (<a href="https://writefreely.org/issues/514">#514</a>)</li>
<li>Fix blog monetization updates when using SQLite (<a href="https://writefreely.org/issues/495">#495</a>)</li>
<li>Ensure link URLs and image alt text don&#39;t get included in the slug (<a href="https://writefreely.org/tasks/329">T329</a>, <a href="https://writefreely.org/issues/520">#520</a>)</li>
<li>Improve keyboard navigation</li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Fix crash on empty post title</li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Upgrade bluemonday from 1.0.5 to 1.0.21</li>
<li>Upgrade ini pkg to v1.66.4</li>
<li>Ignore post <code>created</code> date when empty on publish</li></ul>

<h2 id="release-updates" id="release-updates">Release updates</h2>

<p><strong>NOTE:</strong> There is a blocking bug with our upstream tool, <code>xgo</code>, that helps us cross-compile WriteFreely: <a href="https://github.com/techknowlogick/xgo/issues/155">techknowlogick/xgo#155</a>. Because of this, we&#39;ll only release <code>linux-amd64</code> builds for the foreseeable future.</p>

<h2 id="upgrading-from-v0-13-x" id="upgrading-from-v0-13-x">Upgrading from v0.13.x</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>No additional steps are needed to upgrade from <strong>v0.13.0</strong>. Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="contributors" id="contributors">Contributors</h2>

<p>Thanks to everyone who contributed bug reports, code, and code review to this release!</p>

<p><a href="https://github.com/thebaer">@thebaer</a>
<a href="https://github.com/StJudeWasHere">@StJudeWasHere</a>
<a href="https://github.com/egon0">@egon0</a>
<a href="https://github.com/gytisrepecka">@gytisrepecka</a>
<a href="https://github.com/lt3Dev">@lt3Dev</a>
<a href="https://github.com/viasux">@viasux</a>
<a href="https://github.com/clausecker">@clausecker</a></p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-13-2</guid>
      <pubDate>Fri, 11 Nov 2022 18:07:53 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.13.1</title>
      <link>https://blog.writefreely.org/version-0-13-1?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[This release fixes issues that were mostly introduced in our last release, v0.13. Most critically, it fixes a database lock bug that caused SQLite-backed instances with the Reader enabled to become unresponsive — so we recommend that admins of these instances absolutely upgrade to this version.&#xA;&#xA;Download v0.13.1 now, or read on to see what’s new in this version.&#xA;&#xA;!--more--&#xA;&#xA;User-Facing Changes&#xA;&#xA;Fix title rendering as list item (#470)&#xA;Remove additional slash in /feed/ redirect&#xA;Don&#39;t include image alt text in post description metadata (#306)&#xA;Fix SQLite-backed instances locking up (#467)&#xA;Fix backslashes added to list items in Classic editor (#480)&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Return error when generic OAuth provider doesn&#39;t return a user ID, and prompt admin to add mapuserid (#469)&#xA;Fix &#34;Collection.hostName is empty!&#34; log on Stats page (#468)&#xA;&#xA;Upgrading from v0.13.0&#xA;&#xA;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.&#xA;&#xA;No additional steps are needed to upgrade from v0.13.0. Follow the instructions in each previous release if you&#39;re upgrading from an earlier version.&#xA;&#xA;Developers&#xA;&#xA;If you are running a custom build: we made changes to UI components that need to be compiled. Run this to compile everything:&#xA;&#xA;make ui&#xA;&#xA;Contributors&#xA;&#xA;Thanks to everyone who contributed bug reports, code, and code review to this release!&#xA;&#xA;@stayinside&#xA;@bandicootdancing&#xA;@PeterCxy&#xA;@DaarkMoon&#xA;@poVoq&#xA;@Tealk&#xA;@thebaer&#xA;@mkyos&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>This release fixes issues that were mostly introduced in our last release, v0.13. Most critically, it fixes a <em>database lock</em> bug that caused SQLite-backed instances with the Reader enabled to become unresponsive — so we recommend that admins of these instances absolutely upgrade to this version.</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.13.1">Download v0.13.1 now</a></strong>, or read on to see what’s new in this version.</p>



<h2 id="user-facing-changes" id="user-facing-changes">User-Facing Changes</h2>
<ul><li>Fix title rendering as list item (<a href="https://writefreely.org/issues/470">#470</a>)</li>
<li>Remove additional slash in <code>/feed/</code> redirect</li>
<li>Don&#39;t include image alt text in post <code>description</code> metadata (<a href="https://writefreely.org/issues/306">#306</a>)</li>
<li>Fix SQLite-backed instances locking up (<a href="https://writefreely.org/issues/467">#467</a>)</li>
<li>Fix backslashes added to list items in Classic editor (<a href="https://writefreely.org/issues/480">#480</a>)</li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Return error when generic OAuth provider doesn&#39;t return a user ID, and prompt admin to add <code>map_user_id</code> (<a href="https://writefreely.org/issues/469">#469</a>)</li>
<li>Fix “Collection.hostName is empty!” log on Stats page (<a href="https://writefreely.org/issues/468">#468</a>)</li></ul>

<h2 id="upgrading-from-v0-13-0" id="upgrading-from-v0-13-0">Upgrading from v0.13.0</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>No additional steps are needed to upgrade from <strong>v0.13.0</strong>. Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="developers" id="developers">Developers</h2>

<p>If you are running a custom build: we made changes to UI components that need to be compiled. Run this to compile everything:</p>

<pre><code>make ui
</code></pre>

<h2 id="contributors" id="contributors">Contributors</h2>

<p>Thanks to everyone who contributed bug reports, code, and code review to this release!</p>

<p><a href="https://github.com/stayinside">@stayinside</a>
<a href="https://github.com/bandicootdancing">@bandicootdancing</a>
<a href="https://github.com/PeterCxy">@PeterCxy</a>
<a href="https://github.com/DaarkMoon">@DaarkMoon</a>
<a href="https://github.com/poVoq">@poVoq</a>
<a href="https://github.com/Tealk">@Tealk</a>
<a href="https://github.com/thebaer">@thebaer</a>
<a href="https://github.com/mkyos">@mkyos</a></p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-13-1</guid>
      <pubDate>Wed, 30 Jun 2021 18:17:05 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.13</title>
      <link>https://blog.writefreely.org/version-0-13?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Hello again! 👋 After a long absence, we’re pleased to release WriteFreely v0.13 today! This one includes a new rich editor, generic OAuth support, Web Monetization support, and a ton of small improvements. Besides that, this is one of our last releases before version 1.0!&#xA;&#xA;Download v0.13 now&#xA;&#xA;!--more--&#xA;&#xA;Major Features&#xA;&#xA;Classic editor (T727)&#xA;&#xA;If plain text and Markdown aren&#39;t your thing, now you can get a more &#34;classic&#34; writing experience with the Classic editor! This features more of a What You See Is What You Get interface that doesn&#39;t require the learning curve of Markdown. However, behind the scenes, posts are still saved as Markdown, so you can always switch between the Classic and standard editor. Admins can enable this option by setting editor = classic in the [app] config section.&#xA;&#xA;Gopher Support (T559)&#xA;&#xA;Give your audience a old-school, lightweight way to read posts on your WriteFreely instance, via the Gopher protocol! Enable it with the new gopherport config value in the [server] section. When it’s enabled, multi-user instances will show all Public blogs at gopher://[host]:[gopherport]/.&#xA;&#xA;Gitea and Generic OAuth Provider Support (#293, #317, #405)&#xA;&#xA;We’ve added more ways for users to authenticate with your WriteFreely instance, via Gitea or any generic OAuth 2.0 provider! Our generic OAuth provider support in particular gives you the chance to use WriteFreely alongside a range of applications that hold your users, from Mastodon to Nextcloud to Keycloak.&#xA;&#xA;Web Monetization Support (T773)&#xA;&#xA;Writers can now accept micropayments for their work via the proposed Web Monetization standard, and even publish exclusive content behind a paywall. Admins can enable this by setting monetization = true in the app] section of their config, or changing the setting in their admin panel. This is just the start as we look to give readers more ways to financially support writers — read more about this on the [Write.as blog.&#xA;&#xA;ActivityPub Notes (#220)&#xA;&#xA;Now, WriteFreely is more friendly to microblogs! If a post doesn’t have a double-line-break in it, it’ll be sent to the fediverse as a Note, rather than an Article. If you’d prefer to always send Notes, admins can set notesonly = true in the [app] config section.&#xA;&#xA;Account deletion (T319)&#xA;&#xA;It’s now easy for users and admins to quickly delete account data from WriteFreely via the web! Admins can access this option from their Admin Dashboard, and users can access it from their Account Settings page, if admins have configured Open Account Deletions (via the Dashboard or config file: opendeletion = true under the [app] section).&#xA;&#xA;Post Signatures (T582)&#xA;&#xA;This enables users to add a signature to all blog posts, and update it from a single location (the blog&#39;s Customize page).&#xA;&#xA;User-Facing Changes / Fixes&#xA;&#xA;Optimize Drafts retrieval (#295)&#xA;Support AP-style mentions of centralized social media accounts (#319)&#xA;Show warning in editor when local draft is out of date (#41)&#xA;Allow footer and header elements (#326)&#xA;Set pad light / dark theme based on system settings (#196)&#xA;Improved blog management navigation (#371)&#xA;Fix silenced user post visibility (#374)&#xA;Automatically resize CSS editor (T708)&#xA;Stop private and protected blogs from federating (#403)&#xA;Fix following from Mastodon with Authorized Fetch enabled (T820)&#xA;Fix language metadata gets reset to English after editing a post (#280)&#xA;Support logging out of password-protected blogs (T492)&#xA;Always show post actions on mobile devices (#309)&#xA;Include images as attachments in ActivityStreams data (#442)&#xA;Fix .md file import from Safari (#334)&#xA;Fix Custom CSS editor not working well on touchscreen devices (#452)&#xA;Support Drafts list paging (T401, T696)&#xA;Support title-only posts (#464)&#xA;&#xA;Minor Changes&#xA;&#xA;Support number+letter hashtags&#xA;Use a bigger font size for h2 (#217)&#xA;Ignore &#34;collation mix&#34; errors in GetCollectionRedirect() (#318)&#xA;Make dropdown navigation menus more accessible (#355)&#xA;Fix removal of query parameters on youtube embed links (#328)&#xA;Truncate lede at question mark (#316)&#xA;Fix double HTML-encoded meta tags (#340)&#xA;Fix header spacing on pinned posts (#385)&#xA;Fix unable to edit posts titled &#34;Tags&#34; (#305)&#xA;Set SameSite=None on session cookie (#443)&#xA;Make language highlighting matching case-insensitive (#429)&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Remove “No to!” log (#311)&#xA;Support encrypted database connections (#297)&#xA;Fix docker-compose (#407, #139, #323)&#xA;Fix Docker repository does not exist (#416)&#xA;Support user deletion from web interface (T319)&#xA;Support Unicode domain names (#457)&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Add CORS header to public APIs (#327)&#xA;Support slug parameter when publishing a post (T811)&#xA;Return a url property on Publish a Post endpoint&#xA;Support setting description at user registration&#xA;&#xA;Performance / Backend&#xA;&#xA;Move WriteFreely repo from writeas org to writefreely (#451)&#xA;Move MathJax library from submodule to single file (#176)&#xA;Improve static file serving with Cache-Control header (#322)&#xA;Use HTMLContent field in RSS feed (#418)&#xA;Remove writeas/nerds/store pkg dependency (#445)&#xA;Bump github.com/gorilla/feeds from 1.1.0 to 1.1.1&#xA;Bump github.com/hashicorp/go-multierror from 1.0.0 to 1.1.1&#xA;Bump github.com/microcosm-cc/bluemonday from 1.0.2 to 1.0.5&#xA;Bump github.com/stretchr/testify from 1.6.0 to 1.7.0&#xA;Bump gopkg.in/ini.v1 from 1.55.0 to 1.62.0&#xA;Bump github.com/guregu/null from v3.4 to v3.5&#xA;Bump github.com/go-sql-driver/mysql from 1.4.1 to 1.6.0&#xA;Bump github.com/writeas/import from 0.2.0 to 0.2.1&#xA;Bump github.com/mattn/go-sqlite3 from 1.10.0 to 1.14.6&#xA;Bump github.com/gorilla/schema from 1.0.2 to 1.2.0&#xA;Bump github.com/manifoldco/promptui from 0.3.2 to 0.8.0&#xA;Bump github.com/urfave/cli/v2 from 2.1.1 to 2.3.0&#xA;Bump github.com/fatih/color from 1.7.0 to 1.10.0&#xA;&#xA;Upgrading from v0.12.0&#xA;&#xA;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.&#xA;&#xA;Now make sure your database is backed up, and update it with:&#xA;&#xA;writefreely db migrate&#xA;&#xA;Finally, generate a new encryption key needed for this release (you can ignore messages about removing existing keys):&#xA;&#xA;writefreely keys generate&#xA;&#xA;No additional steps are needed to upgrade from v0.12.0. Follow the instructions in each previous release if you&#39;re upgrading from an earlier version.&#xA;&#xA;Developers&#xA;&#xA;If you are running a custom build: we made changes to site styles and added a Javascript dependency that needs to be compiled (prose.js). Run this to compile everything:&#xA;&#xA;make ui&#xA;&#xA;Contributors&#xA;&#xA;Thanks to everyone who contributed to this release!&#xA;&#xA;@gytisrepecka&#xA;@thebaer&#xA;@RJ722&#xA;@ketudb&#xA;@pascoual&#xA;@Dar13&#xA;@shleeable&#xA;@joicemjoseph&#xA;@dariusk&#xA;@Obayanju&#xA;@qwazix&#xA;@Antolius&#xA;@colin-axner&#xA;@conor-f&#xA;@VV-EE&#xA;@mostfunkyduck&#xA;@Dak425&#xA;@cjeller1592&#xA;@x4e&#xA;@robjloranger&#xA;&#xA;Support WriteFreely&#xA;&#xA;Until now, WriteFreely has been funded entirely by Write.as, a small software company started by Matt Baer. As we grow, we want WriteFreely to develop into a project that can stand more on its own, independently from Write.as. So to help with this, we’ve started setting up separate financial infrastructure for the project.&#xA;&#xA;If you’d like to help fund development and basic project infrastructure, you can now contribute directly to the project on Open Collective or GitHub. Thank you!&#xA;&#xA;#WriteFreely #release]]&gt;</description>
      <content:encoded><![CDATA[<p>Hello again! 👋 After a long absence, we’re pleased to release <a href="https://github.com/writeas/writefreely/releases/tag/v0.13.0">WriteFreely v0.13</a> today! This one includes a new rich editor, generic OAuth support, Web Monetization support, and a ton of small improvements. Besides that, this is one of our last releases before version 1.0!</p>

<p><strong><a href="https://github.com/writefreely/writefreely/releases/tag/v0.13.0">Download v0.13 now</a></strong></p>



<h2 id="major-features" id="major-features">Major Features</h2>

<p><strong>Classic editor (<a href="https://writefreely.org/tasks/727">T727</a>)</strong></p>

<p>If plain text and Markdown aren&#39;t your thing, now you can get a more “classic” writing experience with the <em>Classic</em> editor! This features more of a <em>What You See Is What You Get</em> interface that doesn&#39;t require the learning curve of Markdown. However, behind the scenes, posts are still saved as Markdown, so you can always switch between the Classic and standard editor. Admins can enable this option by setting <code>editor = classic</code> in the <code>[app]</code> config section.</p>

<p><strong>Gopher Support (<a href="https://writefreely.org/tasks/559">T559</a>)</strong></p>

<p>Give your audience a old-school, lightweight way to read posts on your WriteFreely instance, via the Gopher protocol! Enable it with the new <code>gopher_port</code> config value in the <code>[server]</code> section. When it’s enabled, multi-user instances will show all Public blogs at <code>gopher://[host]:[gopher_port]/</code>.</p>

<p><strong>Gitea and Generic OAuth Provider Support (<a href="https://writefreely.org/issues/293">#293</a>, #317, #405)</strong></p>

<p>We’ve added more ways for users to authenticate with your WriteFreely instance, via Gitea or any generic OAuth 2.0 provider! Our generic OAuth provider support in particular gives you the chance to use WriteFreely alongside a range of applications that hold your users, from Mastodon to Nextcloud to Keycloak.</p>

<p><strong>Web Monetization Support (<a href="https://writefreely.org/tasks/773">T773</a>)</strong></p>

<p>Writers can now accept micropayments for their work via the proposed <a href="https://webmonetization.org/">Web Monetization</a> standard, and even publish exclusive content behind a paywall. Admins can enable this by setting <code>monetization = true</code> in the <code>[app]</code> section of their config, or changing the setting in their admin panel. This is just the start as we look to give readers more ways to financially support writers — read more about this on the <a href="https://write.as/blog/monetize-your-writing-with-micropayments">Write.as blog</a>.</p>

<p><strong>ActivityPub Notes (<a href="https://writefreely.org/issues/220">#220</a>)</strong></p>

<p>Now, WriteFreely is more friendly to microblogs! If a post doesn’t have a double-line-break in it, it’ll be sent to the fediverse as a <code>Note</code>, rather than an <code>Article</code>. If you’d prefer to always send Notes, admins can set <code>notes_only = true</code> in the <code>[app]</code> config section.</p>

<p><strong>Account deletion (<a href="https://writefreely.org/tasks/319">T319</a>)</strong></p>

<p>It’s now easy for users and admins to quickly delete account data from WriteFreely via the web! Admins can access this option from their Admin Dashboard, and users can access it from their Account Settings page, if admins have configured <strong>Open Account Deletions</strong> (via the Dashboard or config file: <code>open_deletion = true</code> under the <code>[app]</code> section).</p>

<p><strong>Post Signatures (<a href="https://writefreely.org/tasks/582">T582</a>)</strong></p>

<p>This enables users to add a signature to all blog posts, and update it from a single location (the blog&#39;s <strong>Customize</strong> page).</p>

<h2 id="user-facing-changes-fixes" id="user-facing-changes-fixes">User-Facing Changes / Fixes</h2>
<ul><li>Optimize Drafts retrieval (<a href="https://writefreely.org/issues/295">#295</a>)</li>
<li>Support AP-style mentions of centralized social media accounts (<a href="https://writefreely.org/issues/319">#319</a>)</li>
<li>Show warning in editor when local draft is out of date (<a href="https://writefreely.org/issues/41">#41</a>)</li>
<li>Allow footer and header elements (<a href="https://writefreely.org/issues/326">#326</a>)</li>
<li>Set pad light / dark theme based on system settings (<a href="https://writefreely.org/issues/196">#196</a>)</li>
<li>Improved blog management navigation (<a href="https://writefreely.org/issues/371">#371</a>)</li>
<li>Fix silenced user post visibility (<a href="https://writefreely.org/issues/374">#374</a>)</li>
<li>Automatically resize CSS editor (<a href="https://writefreely.org/tasks/708">T708</a>)</li>
<li>Stop private and protected blogs from federating (<a href="https://writefreely.org/issues/403">#403</a>)</li>
<li>Fix following from Mastodon with Authorized Fetch enabled (<a href="https://writefreely.org/tasks/820">T820</a>)</li>
<li>Fix language metadata gets reset to English after editing a post (<a href="https://writefreely.org/issues/280">#280</a>)</li>
<li>Support logging out of password-protected blogs (<a href="https://writefreely.org/tasks/492">T492</a>)</li>
<li>Always show post actions on mobile devices (<a href="https://writefreely.org/issues/309">#309</a>)</li>
<li>Include images as attachments in ActivityStreams data (<a href="https://writefreely.org/issues/442">#442</a>)</li>
<li>Fix .md file import from Safari (<a href="https://writefreely.org/issues/334">#334</a>)</li>
<li>Fix Custom CSS editor not working well on touchscreen devices (<a href="https://writefreely.org/issues/452">#452</a>)</li>
<li>Support Drafts list paging (<a href="https://writefreely.org/tasks/401">T401</a>, T696)</li>
<li>Support title-only posts (<a href="https://writefreely.org/issues/464">#464</a>)</li></ul>

<h3 id="minor-changes" id="minor-changes">Minor Changes</h3>
<ul><li>Support number+letter hashtags</li>
<li>Use a bigger font size for h2 (<a href="https://writefreely.org/issues/217">#217</a>)</li>
<li>Ignore “collation mix” errors in <code>GetCollectionRedirect()</code> (<a href="https://writefreely.org/issues/318">#318</a>)</li>
<li>Make dropdown navigation menus more accessible (<a href="https://writefreely.org/issues/355">#355</a>)</li>
<li>Fix removal of query parameters on youtube embed links (<a href="https://writefreely.org/issues/328">#328</a>)</li>
<li>Truncate lede at question mark (<a href="https://writefreely.org/issues/316">#316</a>)</li>
<li>Fix double HTML-encoded meta tags (<a href="https://writefreely.org/issues/340">#340</a>)</li>
<li>Fix header spacing on pinned posts (<a href="https://writefreely.org/issues/385">#385</a>)</li>
<li>Fix unable to edit posts titled “Tags” (<a href="https://writefreely.org/issues/305">#305</a>)</li>
<li>Set SameSite=None on session cookie (<a href="https://writefreely.org/issues/443">#443</a>)</li>
<li>Make language highlighting matching case-insensitive (<a href="https://writefreely.org/issues/429">#429</a>)</li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Remove “No to!” log (<a href="https://writefreely.org/issues/311">#311</a>)</li>
<li>Support encrypted database connections (<a href="https://writefreely.org/issues/297">#297</a>)</li>
<li>Fix docker-compose (<a href="https://writefreely.org/issues/407">#407</a>, #139, #323)</li>
<li>Fix Docker repository does not exist (<a href="https://writefreely.org/issues/416">#416</a>)</li>
<li>Support user deletion from web interface (<a href="https://writefreely.org/tasks/319">T319</a>)</li>
<li>Support Unicode domain names (<a href="https://writefreely.org/issues/457">#457</a>)</li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Add CORS header to public APIs (<a href="https://writefreely.org/issues/327">#327</a>)</li>
<li>Support <code>slug</code> parameter when publishing a post (<a href="https://writefreely.org/tasks/811">T811</a>)</li>
<li>Return a <code>url</code> property on <em>Publish a Post</em> endpoint</li>
<li>Support setting <code>description</code> at user registration</li></ul>

<h2 id="performance-backend" id="performance-backend">Performance / Backend</h2>
<ul><li>Move WriteFreely repo from <code>writeas</code> org to <code>writefreely</code> (<a href="https://writefreely.org/issues/451">#451</a>)</li>
<li>Move MathJax library from submodule to single file (<a href="https://writefreely.org/issues/176">#176</a>)</li>
<li>Improve static file serving with Cache-Control header (<a href="https://writefreely.org/issues/322">#322</a>)</li>
<li>Use HTMLContent field in RSS feed (<a href="https://writefreely.org/issues/418">#418</a>)</li>
<li>Remove writeas/nerds/store pkg dependency (<a href="https://writefreely.org/issues/445">#445</a>)</li>
<li>Bump github.com/gorilla/feeds from 1.1.0 to 1.1.1</li>
<li>Bump github.com/hashicorp/go-multierror from 1.0.0 to 1.1.1</li>
<li>Bump github.com/microcosm-cc/bluemonday from 1.0.2 to 1.0.5</li>
<li>Bump github.com/stretchr/testify from 1.6.0 to 1.7.0</li>
<li>Bump gopkg.in/ini.v1 from 1.55.0 to 1.62.0</li>
<li>Bump github.com/guregu/null from v3.4 to v3.5</li>
<li>Bump github.com/go-sql-driver/mysql from 1.4.1 to 1.6.0</li>
<li>Bump github.com/writeas/import from 0.2.0 to 0.2.1</li>
<li>Bump github.com/mattn/go-sqlite3 from 1.10.0 to 1.14.6</li>
<li>Bump github.com/gorilla/schema from 1.0.2 to 1.2.0</li>
<li>Bump github.com/manifoldco/promptui from 0.3.2 to 0.8.0</li>
<li>Bump github.com/urfave/cli/v2 from 2.1.1 to 2.3.0</li>
<li>Bump github.com/fatih/color from 1.7.0 to 1.10.0</li></ul>

<h2 id="upgrading-from-v0-12-0" id="upgrading-from-v0-12-0">Upgrading from v0.12.0</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>Now <strong>make sure your database is backed up</strong>, and update it with:</p>

<pre><code>writefreely db migrate
</code></pre>

<p>Finally, generate a new encryption key needed for this release (you can ignore messages about removing existing keys):</p>

<pre><code>writefreely keys generate
</code></pre>

<p>No additional steps are needed to upgrade from <strong>v0.12.0</strong>. Follow the instructions in each <a href="https://blog.writefreely.org/tag:release">previous release</a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="developers" id="developers">Developers</h2>

<p>If you are running a custom build: we made changes to site styles and added a Javascript dependency that needs to be compiled (<code>prose.js</code>). Run this to compile everything:</p>

<pre><code>make ui
</code></pre>

<h2 id="contributors" id="contributors">Contributors</h2>

<p>Thanks to everyone who contributed to this release!</p>

<p><a href="https://github.com/gytisrepecka">@gytisrepecka</a>
<a href="https://github.com/thebaer">@thebaer</a>
<a href="https://github.com/RJ722">@RJ722</a>
<a href="https://github.com/ketudb">@ketudb</a>
<a href="https://github.com/pascoual">@pascoual</a>
<a href="https://github.com/Dar13">@Dar13</a>
<a href="https://github.com/shleeable">@shleeable</a>
<a href="https://github.com/joicemjoseph">@joicemjoseph</a>
<a href="https://github.com/dariusk">@dariusk</a>
<a href="https://github.com/Obayanju">@Obayanju</a>
<a href="https://github.com/qwazix">@qwazix</a>
<a href="https://github.com/Antolius">@Antolius</a>
<a href="https://github.com/colin">@colin-axner</a>
<a href="https://github.com/conor">@conor-f</a>
<a href="https://github.com/VV">@VV-EE</a>
<a href="https://github.com/mostfunkyduck">@mostfunkyduck</a>
<a href="https://github.com/Dak425">@Dak425</a>
<a href="https://github.com/cjeller1592">@cjeller1592</a>
<a href="https://github.com/x4e">@x4e</a>
<a href="https://github.com/robjloranger">@robjloranger</a></p>

<h2 id="support-writefreely" id="support-writefreely">Support WriteFreely</h2>

<p>Until now, WriteFreely has been funded entirely by <a href="https://write.as">Write.as</a>, a small software company started by <a href="https://write.as/matt/">Matt Baer</a>. As we grow, we want WriteFreely to develop into a project that can stand more on its own, independently from Write.as. So to help with this, we’ve started setting up separate financial infrastructure for the project.</p>

<p>If you’d like to help fund development and basic project infrastructure, you can now contribute <em>directly</em> to the project on <a href="https://opencollective.com/writefreely">Open Collective</a> or <a href="https://github.com/sponsors/writefreely">GitHub</a>. Thank you!</p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-13</guid>
      <pubDate>Fri, 11 Jun 2021 17:15:08 +0000</pubDate>
    </item>
    <item>
      <title>WriteFreely for iOS</title>
      <link>https://blog.writefreely.org/writefreely-for-ios?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[This summer we largely took a break from major work on WriteFreely to turn our focus to something new: native apps for the Apple ecosystem. Now, after developing in the open, building a Swift library, writing about our adventures with SwiftUI, and opening the app to beta testers, we&#39;re excited to finally release WriteFreely for iOS v1.0!&#xA;&#xA;You can buy it now for $14.99 on the App Store (requires iOS 14 or later), and find the GPL-licensed source code on GitHub. !--more--&#xA;&#xA;WriteFreely is a minimalist platform for both distraction-free writing and seamless web publishing. So we wanted to create a native experience on iOS and (soon) macOS that focused only on these core parts of the platform. &#xA;&#xA;First, we centered the app around writing, so launching the app always goes straight to the editor. From there, you can instantly pick up your last draft, publish, or start composing a new thought.&#xA;&#xA;img src=&#34;https://github.com/writefreely/presskit-ios-app/blob/main/Screenshots/Screen%20Shot%20-%20iPhone%208%20Plus%20-%20local-draft.png?raw=true&#34; alt=&#34;A screenshot of the plain-text editor.&#34; class=&#34;shadow&#34; style=&#34;max-width:15em; display:block; margin: 0 auto;&#34; /&#xA;&#xA;Next, we created a simple way to view all of your posts and the status that each one is in -- local and un-published (kept offline on your device), published (online), or published with some not-yet-published changes.&#xA;&#xA;Local, edited, and published states.&#xA;&#xA;Finally, we added support for logging into your account and syncing it to your device, so you can access your posts anywhere, even offline and across devices. WriteFreely for iOS supports blogs hosted on Write.as, plus all self-hosted blogs on WriteFreely v0.1 or later. To get started, check out our how-to guide.&#xA;&#xA;Buy once, write forever&#xA;&#xA;As an open source project backed by a small, independent company, we spend a lot of time focused on building free, privacy-focused software sustainably. To do this, we&#39;ve settled on an old-fashioned business model where our users are also our customers -- and the only people we answer to.&#xA;&#xA;We&#39;ve built this app with such sustainability in mind. Rather than limiting it with in-app purchases or requiring a locked-down subscription, we&#39;re giving everyone a simple way to support our work and get a great app in return, with a one-time purchase to install the app. It&#39;s just $14.99 to write and publish on both your iPhone and iPad, with completely free updates and improvements to the app for life.&#xA;&#xA;With this paid model, we hope to continue building our sustainable open source platform while giving you a simple, reliable way to publish your writing to the web.&#xA;&#xA;Questions? Want to talk more? Join us on our discussion forum!&#xA;&#xA;#WriteFreely #apps #iOS]]&gt;</description>
      <content:encoded><![CDATA[<p>This summer we largely took a break from major work on WriteFreely to turn our focus to something new: native apps for the Apple ecosystem. Now, after <a href="https://github.com/writeas/writefreely-swiftui-multiplatform">developing in the open</a>, building a <a href="https://github.com/writeas/writefreely-swift">Swift library</a>, writing about our <a href="https://write.as/angelo/">adventures with SwiftUI</a>, and opening the app to beta testers, we&#39;re excited to finally release <a href="https://writefreely.org/apps/ios"><strong>WriteFreely for iOS</strong></a> v1.0!</p>

<p>You can buy it now for $14.99 <a href="https://apps.apple.com/us/app/writefreely/id1531530896">on the App Store</a> (requires iOS 14 or later), and find the GPL-licensed source code <a href="https://github.com/writeas/writefreely-swiftui-multiplatform">on GitHub</a>. </p>

<p>WriteFreely is a minimalist platform for both distraction-free writing and seamless web publishing. So we wanted to create a native experience on iOS and (soon) macOS that focused only on these core parts of the platform.</p>

<p>First, we centered the app around writing, so launching the app always goes straight to the editor. From there, you can instantly pick up your last draft, publish, or start composing a new thought.</p>

<p><img src="https://github.com/writefreely/presskit-ios-app/blob/main/Screenshots/Screen%20Shot%20-%20iPhone%208%20Plus%20-%20local-draft.png?raw=true" alt="A screenshot of the plain-text editor." class="shadow" style="max-width:15em; display:block; margin: 0 auto;"/></p>

<p>Next, we created a simple way to view all of your posts and the status that each one is in — local and un-published (kept offline on your device), published (online), or published with some not-yet-published changes.</p>

<p><img src="https://i.snap.as/7zMLJdp.png" alt="Local, edited, and published states."/></p>

<p>Finally, we added support for logging into your account and syncing it to your device, so you can access your posts anywhere, even offline and across devices. WriteFreely for iOS supports blogs hosted on <a href="https://write.as">Write.as</a>, plus all self-hosted blogs on WriteFreely v0.1 or later. To get started, check out our <a href="https://discuss.write.as/t/using-the-writefreely-ios-app/1946">how-to guide</a>.</p>

<h2 id="buy-once-write-forever" id="buy-once-write-forever">Buy once, write forever</h2>

<p>As an open source project backed by a <a href="https://write.as/about">small, independent company</a>, we spend a lot of time focused on building free, privacy-focused software <strong>sustainably</strong>. To do this, we&#39;ve settled on an old-fashioned business model where our users are also our customers — and the only people we answer to.</p>

<p>We&#39;ve built this app with such sustainability in mind. Rather than limiting it with in-app purchases or requiring a locked-down subscription, we&#39;re giving everyone a simple way to support our work and get a great app in return, with a one-time purchase to install the app. It&#39;s just <strong>$14.99</strong> to write and publish on both your iPhone and iPad, with completely free updates and improvements to the app for life.</p>

<p>With this paid model, we hope to continue building our sustainable open source platform while giving you a simple, reliable way to publish your writing to the web.</p>

<p>Questions? Want to talk more? Join us <a href="https://discuss.write.as">on our discussion forum</a>!</p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://blog.writefreely.org/tag:apps" class="hashtag"><span>#</span><span class="p-category">apps</span></a> <a href="https://blog.writefreely.org/tag:iOS" class="hashtag"><span>#</span><span class="p-category">iOS</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/writefreely-for-ios</guid>
      <pubDate>Tue, 20 Oct 2020 18:41:24 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.12</title>
      <link>https://blog.writefreely.org/version-0-12?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[We&#39;re excited to release WriteFreely v0.12, our biggest update yet! This version comes with a ton of great features for communities and organizations, and officially moves WriteFreely into the beta stage -- just a few steps away from version 1.0. &#xA;&#xA;Besides our new features and performance improvements, this update also includes plenty of contributions from new members of the community! Thank you to everyone who helped out, whether you contributed code or tested our release candidate!&#xA;&#xA;Major Features&#xA;&#xA;ActivityPub Mentions (T627)&#xA;&#xA;Enable more interaction with your posts by mentioning users on Mastodon, Pleroma, and other ActivityPub platforms! Users on instances with federation enabled can now insert @handle@their.instance to mention someone. You might use this to write a long response to someone in the fediverse, or even mention your own microblogging account, so that replies to your blog post also notify you there, where you can continue the conversation.&#xA;&#xA;New Admin Dashboard (T694)&#xA;&#xA;We&#39;ve redesigned the admin dashboard to be a little easier to navigate, and generally more user friendly. It now includes an overview of stats for your instance, dedicated pages for app settings and monitoring, and more details on what each configuration option does. We&#39;ve also made it easier for admins to get to the &#34;Invite people&#34; page.&#xA;&#xA;OAuth 2.0 Support (#225)&#xA;&#xA;Now you can authenticate with your WriteFreely instance via OAuth! This is perfect for WriteFreely communities that are set up to accompany other platforms. We support three providers so far: GitLab, Slack, and Write.as.&#xA;&#xA;Reader Filter Updates (#269)&#xA;&#xA;Now the Reader will show the most recent 250 public posts, instead of only the last three months of public posts. This should be much more fitting for most WriteFreely instances.&#xA;&#xA;Plain Text Import&#xA;&#xA;Now you can import plain text files to publish them as posts on WriteFreely.&#xA;&#xA;User-Facing Changes / Fixes&#xA;&#xA;Show dates on blog posts (T669, #276)&#xA;Show post publish dates in local time (T670)&#xA;Fix HTML entities in Draft descriptions (#248)&#xA;Add Drafts explanation (#248)&#xA;Fix post deletion on Pleroma (#233)&#xA;Make user management + Reader pages consistent in their design (#262)&#xA;Fix image metadata extraction (#266)&#xA;Add syntax highlighting aliases: js, jsx, html (#270)&#xA;Lightly style tables in posts (#194)&#xA;Send users to Login page by default on private instances (#274)&#xA;Fix pagination on last page of blogs using &#34;Novel&#34; display format (#272)&#xA;Show 503 Service Unavailable page when server under high load (#284)&#xA;Remove extraneous @context fields to fix Friendica federation (#299)&#xA;&#xA;Minor Changes&#xA;&#xA;Require authentication for accessing editor (#245, #255)&#xA;Fix 500 on invite links with invalid characters (#250)&#xA;Tell search engines not to index invite URLs (#268)&#xA;Hide Reader footer link when unauthenticated on private instances (#274)&#xA;&#xA;Admin-Facing Changes&#xA;&#xA;Support Varnish use on ActivityPub endpoints (#180)&#xA;Fix automatic certificates (#228)&#xA;Automatically check for WriteFreely updates (T572) -- enable with update_checks = true in config&#xA;Support account deletion via command-line for non-federated instances (T319 / #202)&#xA;Support sign in via Write.as&#xA;Support sign in via Slack (T710)&#xA;Support sign in via GitLab (#277)&#xA;Refactor command-line commands (#261)&#xA;&#xA;Developer-Facing Changes&#xA;&#xA;Add /api/markdown endpoint for generating HTML from Markdown&#xA;Add ARM64 build (#213)&#xA;Support OAuth 2.0 as client application (#225)&#xA;Add stylesheet cache busting script and use it on official WF release (#288)&#xA;&#xA;Performance / Backend&#xA;&#xA;Improve resource use for federation (#249)&#xA;Fix memory leak from gorilla/session library (#133)&#xA;&#xA;Upgrading from v0.11.x and v0.12.0rc1&#xA;&#xA;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.&#xA;&#xA;Now make sure your database is backed up, and update it with:&#xA;&#xA;writefreely db migrate&#xA;&#xA;No additional steps are needed to upgrade from v0.11.x. Follow the instructions in each previous #release if you&#39;re upgrading from an earlier version.&#xA;&#xA;Developers&#xA;&#xA;If you are running a custom build, note that there were style changes in this release. Run the following command to generate the latest stylesheets:&#xA;&#xA;make ui&#xA;&#xA;Contributors&#xA;&#xA;Thanks to everyone who contributed to this release!&#xA;&#xA;Development&#xA;&#xA;@thebaer&#xA;@robjloranger&#xA;@qwazix&#xA;@yalh76&#xA;@ngerakines&#xA;@techknowlogick&#xA;@shleeable&#xA;@nkoehring&#xA;@paddatrapper&#xA;@cjeller1592&#xA;&#xA;Documentation&#xA;&#xA;@cjeller1592&#xA;&#xA;Bug reports&#xA;&#xA;@barbrastreisand&#xA;@wakest&#xA;@judges119&#xA;@laBecasse&#xA;@misaka00251&#xA;@OliverViking&#xA;@mrvdb&#xA;@darddan&#xA;@wiwie&#xA;@annando&#xA;&#xA;WriteFreely]]&gt;</description>
      <content:encoded><![CDATA[<p>We&#39;re excited to release <a href="https://github.com/writeas/writefreely/releases/tag/v0.12.0">WriteFreely v0.12</a>, our biggest update yet! This version comes with a ton of great features for communities and organizations, and officially moves WriteFreely into the <strong>beta</strong> stage — just a few steps away from version 1.0.</p>

<p>Besides our new features and performance improvements, this update also includes plenty of contributions from new members of the community! Thank you to everyone who helped out, whether you contributed code or tested our release candidate!</p>

<h2 id="major-features" id="major-features">Major Features</h2>

<p><strong>ActivityPub Mentions (<a href="https://writefreely.org/tasks/627">T627</a>)</strong></p>

<p>Enable more interaction with your posts by mentioning users on Mastodon, Pleroma, and other ActivityPub platforms! Users on instances with federation enabled can now insert <code><a href="/@/handle@their.instance" class="u-url mention">@<span>handle@their.instance</span></a></code> to mention someone. You might use this to write a long response to someone in the fediverse, or even mention your own microblogging account, so that replies to your blog post also notify you there, where you can continue the conversation.</p>

<p><strong>New Admin Dashboard (<a href="https://writefreely.org/tasks/694">T694</a>)</strong></p>

<p>We&#39;ve redesigned the admin dashboard to be a little easier to navigate, and generally more user friendly. It now includes an overview of stats for your instance, dedicated pages for app settings and monitoring, and more details on what each configuration option does. We&#39;ve also made it easier for admins to get to the “Invite people” page.</p>

<p><strong>OAuth 2.0 Support (<a href="https://writefreely.org/issues/225">#225</a>)</strong></p>

<p>Now you can authenticate with your WriteFreely instance <a href="https://matt.writefreely.dev/oauth-support-in-writefreely">via OAuth</a>! This is perfect for WriteFreely communities that are set up to accompany other platforms. We support three providers so far: GitLab, Slack, and Write.as.</p>

<p><strong>Reader Filter Updates (<a href="https://writefreely.org/issues/269">#269</a>)</strong></p>

<p>Now the Reader will show the most recent 250 public posts, instead of only the last three months of public posts. This should be much more fitting for most WriteFreely instances.</p>

<p><strong>Plain Text Import</strong></p>

<p>Now you can import plain text files to publish them as posts on WriteFreely.</p>

<h2 id="user-facing-changes-fixes" id="user-facing-changes-fixes">User-Facing Changes / Fixes</h2>
<ul><li>Show dates on blog posts (<a href="https://writefreely.org/tasks/669">T669</a>, <a href="https://writefreely.org/issues/276">#276</a>)</li>
<li>Show post publish dates in local time (<a href="https://writefreely.org/tasks/670">T670</a>)</li>
<li>Fix HTML entities in Draft descriptions (<a href="https://writefreely.org/issues/248">#248</a>)</li>
<li>Add Drafts explanation (<a href="https://writefreely.org/issues/248">#248</a>)</li>
<li>Fix post deletion on Pleroma (<a href="https://writefreely.org/issues/233">#233</a>)</li>
<li>Make user management + Reader pages consistent in their design (<a href="https://writefreely.org/issues/262">#262</a>)</li>
<li>Fix image metadata extraction (<a href="https://writefreely.org/issues/266">#266</a>)</li>
<li>Add syntax highlighting aliases: <code>js</code>, <code>jsx</code>, <code>html</code> (<a href="https://writefreely.org/issues/270">#270</a>)</li>
<li>Lightly style tables in posts (<a href="https://writefreely.org/issues/194">#194</a>)</li>
<li>Send users to Login page by default on private instances (<a href="https://writefreely.org/issues/274">#274</a>)</li>
<li>Fix pagination on last page of blogs using “Novel” display format (<a href="https://writefreely.org/issues/272">#272</a>)</li>
<li>Show 503 Service Unavailable page when server under high load (<a href="https://writefreely.org/issues/284">#284</a>)</li>
<li>Remove extraneous <code>@context</code> fields to fix Friendica federation (<a href="https://writefreely.org/issues/299">#299</a>)</li></ul>

<h3 id="minor-changes" id="minor-changes">Minor Changes</h3>
<ul><li>Require authentication for accessing editor (<a href="https://writefreely.org/issues/245">#245</a>, #255)</li>
<li>Fix 500 on invite links with invalid characters (<a href="https://writefreely.org/issues/250">#250</a>)</li>
<li>Tell search engines not to index invite URLs (<a href="https://writefreely.org/issues/268">#268</a>)</li>
<li>Hide Reader footer link when unauthenticated on private instances (<a href="https://writefreely.org/issues/274">#274</a>)</li></ul>

<h2 id="admin-facing-changes" id="admin-facing-changes">Admin-Facing Changes</h2>
<ul><li>Support Varnish use on ActivityPub endpoints (<a href="https://writefreely.org/issues/180">#180</a>)</li>
<li>Fix automatic certificates (<a href="https://writefreely.org/issues/228">#228</a>)</li>
<li>Automatically check for WriteFreely updates (<a href="https://writefreely.org/tasks/572">T572</a>) — enable with <code>update_checks = true</code> in config</li>
<li>Support account deletion via command-line for non-federated instances (<a href="https://writefreely.org/tasks/319">T319</a> / <a href="https://writefreely.org/issues/202">#202</a>)</li>
<li>Support sign in via Write.as</li>
<li>Support sign in via Slack (<a href="https://writefreely.org/tasks/710">T710</a>)</li>
<li>Support sign in via GitLab (<a href="https://writefreely.org/issues/277">#277</a>)</li>
<li>Refactor command-line commands (<a href="https://writefreely.org/issues/261">#261</a>)</li></ul>

<h2 id="developer-facing-changes" id="developer-facing-changes">Developer-Facing Changes</h2>
<ul><li>Add <code>/api/markdown</code> endpoint for generating HTML from Markdown</li>
<li>Add ARM64 build (<a href="https://writefreely.org/issues/213">#213</a>)</li>
<li>Support OAuth 2.0 as client application (#225)</li>
<li>Add stylesheet cache busting script and use it on official WF release (<a href="https://writefreely.org/issues/288">#288</a>)</li></ul>

<h2 id="performance-backend" id="performance-backend">Performance / Backend</h2>
<ul><li>Improve resource use for federation (<a href="https://writefreely.org/issues/249">#249</a>)</li>
<li>Fix memory leak from gorilla/session library (<a href="https://writefreely.org/issues/133">#133</a>)</li></ul>

<h2 id="upgrading-from-v0-11-x-and-v0-12-0rc1" id="upgrading-from-v0-11-x-and-v0-12-0rc1">Upgrading from v0.11.x and v0.12.0rc1</h2>

<p>Download the latest release for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>Now <strong>make sure your database is backed up</strong>, and update it with:</p>

<pre><code>writefreely db migrate
</code></pre>

<p>No additional steps are needed to upgrade from <strong>v0.11.x</strong>. Follow the instructions in each previous <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a> if you&#39;re upgrading from an earlier version.</p>

<h2 id="developers" id="developers">Developers</h2>

<p>If you are running a custom build, note that there were style changes in this release. Run the following command to generate the latest stylesheets:</p>

<pre><code class="language-bash">make ui
</code></pre>

<h2 id="contributors" id="contributors">Contributors</h2>

<p>Thanks to everyone who contributed to this release!</p>

<h3 id="development" id="development">Development</h3>

<p><a href="https://github.com/thebaer">@thebaer</a>
<a href="https://github.com/robjloranger">@robjloranger</a>
<a href="https://github.com/qwazix">@qwazix</a>
<a href="https://github.com/yalh76">@yalh76</a>
<a href="https://github.com/ngerakines">@ngerakines</a>
<a href="https://github.com/techknowlogick">@techknowlogick</a>
<a href="https://github.com/shleeable">@shleeable</a>
<a href="https://github.com/nkoehring">@nkoehring</a>
<a href="https://github.com/paddatrapper">@paddatrapper</a>
<a href="https://github.com/cjeller1592">@cjeller1592</a></p>

<h3 id="documentation" id="documentation">Documentation</h3>

<p><a href="https://github.com/cjeller1592">@cjeller1592</a></p>

<h3 id="bug-reports" id="bug-reports">Bug reports</h3>

<p><a href="https://github.com/barbrastreisand">@barbrastreisand</a>
<a href="https://github.com/wakest">@wakest</a>
<a href="https://github.com/judges119">@judges119</a>
<a href="https://github.com/laBecasse">@laBecasse</a>
<a href="https://github.com/misaka00251">@misaka00251</a>
<a href="https://github.com/OliverViking">@OliverViking</a>
<a href="https://github.com/mrvdb">@mrvdb</a>
<a href="https://github.com/darddan">@darddan</a>
<a href="https://github.com/wiwie">@wiwie</a>
<a href="https://github.com/annando">@annando</a></p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-12</guid>
      <pubDate>Wed, 22 Apr 2020 19:30:01 +0000</pubDate>
    </item>
    <item>
      <title>Version 0.11.2</title>
      <link>https://blog.writefreely.org/version-0-11-2?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[This version fixes some regressions introduced in our last major release, particularly around #federation. We highly recommend that all admins upgrade to this version, especially if you&#39;re on v0.11.x.&#xA;&#xA;On that note: want to help us test WriteFreely before future major releases? We&#39;d love your help! Let us know over on the forum.&#xA;&#xA;User-Facing Changes / Fixes&#xA;&#xA;Fix Announceing posts via ActivityPub (#212)&#xA;Fix id property in collection posts&#39; ActivityStreams data (#214)&#xA;Remove false &#34;programmer error&#34; log (#216)&#xA;Fix password-protected blog rendering (#221)&#xA;Fix silenced password-protected blog quirks&#xA;Fix wrong errors returned when looking up non-existent paths (#215)&#xA;&#xA;Upgrading from v0.11.x&#xA;&#xA;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.&#xA;&#xA;No additional steps are needed to upgrade from v0.11.x. Follow the instructions in each previous #release if you&#39;re upgrading from v0.10.0 or earlier.&#xA;&#xA;Contributors&#xA;&#xA;Thanks for contributing to this release!&#xA;&#xA;@robjloranger&#xA;@cjeller1592&#xA;&#xA;WriteFreely]]&gt;</description>
      <content:encoded><![CDATA[<p>This version fixes some regressions introduced in our last major release, particularly around <a href="https://blog.writefreely.org/tag:federation" class="hashtag"><span>#</span><span class="p-category">federation</span></a>. We highly recommend that all admins upgrade to this version, especially if you&#39;re on v0.11.x.</p>

<p><em>On that note:</em> want to help us test WriteFreely before future major releases? We&#39;d love your help! Let us know over <a href="https://discuss.write.as/t/help-wanted-writefreely-testers/994">on the forum</a>.</p>

<h2 id="user-facing-changes-fixes" id="user-facing-changes-fixes">User-Facing Changes / Fixes</h2>
<ul><li>Fix <code>Announce</code>ing posts via ActivityPub (<a href="https://writefreely.org/issues/212">#212</a>)</li>
<li>Fix <code>id</code> property in collection posts&#39; ActivityStreams data (<a href="https://writefreely.org/pull/214">#214</a>)</li>
<li>Remove false “programmer error” log (<a href="https://writefreely.org/pull/216">#216</a>)</li>
<li>Fix password-protected blog rendering (<a href="https://writefreely.org/issues/221">#221</a>)</li>
<li>Fix silenced password-protected blog quirks</li>
<li>Fix wrong errors returned when looking up non-existent paths (<a href="https://writefreely.org/pull/215">#215</a>)</li></ul>

<h2 id="upgrading-from-v0-11-x" id="upgrading-from-v0-11-x">Upgrading from v0.11.x</h2>

<p><a href="https://github.com/writeas/writefreely/releases/tag/v0.11.2">Download the latest release</a> for your operating system. Stop running your <code>writefreely</code> service, replace all files in your installation with the ones in the archive, and then start your <code>writefreely</code> service again.</p>

<p>No additional steps are needed to upgrade from <strong>v0.11.x</strong>. Follow the instructions in each previous <a href="https://blog.writefreely.org/tag:release" class="hashtag"><span>#</span><span class="p-category">release</span></a> if you&#39;re upgrading from <strong>v0.10.0</strong> or earlier.</p>

<h2 id="contributors" id="contributors">Contributors</h2>

<p>Thanks for contributing to this release!</p>

<p><a href="https://github.com/robjloranger">@robjloranger</a>
<a href="https://github.com/cjeller1592">@cjeller1592</a></p>

<p><a href="https://blog.writefreely.org/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a></p>
]]></content:encoded>
      <guid>https://blog.writefreely.org/version-0-11-2</guid>
      <pubDate>Wed, 18 Dec 2019 03:26:37 +0000</pubDate>
    </item>
  </channel>
</rss>