From dd97a9b488dad25ee631d72c8e2557e1d459f03d Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Tue, 17 Apr 2018 21:26:58 +0200
Subject: [PATCH] Version bump and changelog

---
 CHANGELOG                                  | 90 ++++++++++++++++++----
 api/funkwhale_api/__init__.py              |  2 +-
 changes/changelog.d/136.feature            |  1 -
 changes/changelog.d/148.enhancement        |  1 -
 changes/changelog.d/162-script.enhancement |  1 -
 changes/changelog.d/5.feature              |  1 -
 changes/changelog.d/user-agent.enhancement |  2 -
 7 files changed, 77 insertions(+), 21 deletions(-)
 delete mode 100644 changes/changelog.d/136.feature
 delete mode 100644 changes/changelog.d/148.enhancement
 delete mode 100644 changes/changelog.d/162-script.enhancement
 delete mode 100644 changes/changelog.d/5.feature
 delete mode 100644 changes/changelog.d/user-agent.enhancement

diff --git a/CHANGELOG b/CHANGELOG
index 0f01b582..7cd7714a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,79 @@ Changelog
 
 .. towncrier
 
+0.9 (2018-04-17)
+----------------
+
+Features:
+
+- Add internationalization support (#5)
+- Can now follow and import music from remote libraries (#136, #137)
+
+
+Enhancements:
+
+- Added a i18n-extract yarn script to extract strings to PO files (#162)
+- User admin now includes signup and last login dates (#148)
+- We now use a proper user agent including instance version and url during
+  outgoing requests
+
+
+Federation is here!
+^^^^^^^^^^^^^^^^^^^
+
+This is for real this time, and includes:
+
+- Following other Funkwhale libraries
+- Importing tracks from remote libraries (tracks are hotlinked, and only cached for a short amount of time)
+- Searching accross federated catalogs
+
+Note that by default, federation is opt-in, on a per-instance basis:
+instances will request access to your catalog, and you can accept or refuse
+those requests. You can also revoke the access at any time.
+
+Documentation was updated with relevant instructions to use and benefit
+from this new feature: https://docs.funkwhale.audio/federation.html
+
+Preparing internationalization
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Funkwhale's front-end as always been english-only, and this is a barrier
+to new users. The work make Funkwhale's interface translatable was started
+in this release by Baptiste. Although nothing is translated yet,
+this release includes behind the stage changes that will make it possible in
+the near future.
+
+Many thank to Baptiste for the hard work and for figuring out a proper solution
+to this difficult problem.
+
+Upgrade path
+^^^^^^^^^^^^
+
+In addition to the usual instructions from
+https://docs.funkwhale.audio/upgrading.html, non-docker users will have
+to setup an additional systemd unit file for recurrent tasks.
+
+This was forgotten in the deployment documentation, but recurrent tasks,
+managed by the celery beat process, will be needed more and more in subsequent
+releases. Right now, we'll be using to clear the cache for federated music files
+and keep disk usage to a minimum.
+
+In the future, they will also be needed to refetch music metadata or federated
+information periodically.
+
+Celery beat can be enabled easily::
+
+    curl -L -o "/etc/systemd/system/funkwhale-beat.service" "https://code.eliotberriot.com/funkwhale/funkwhale/raw/develop/deploy/funkwhale-beat.service"
+    # Also edit /etc/systemd/system/funkwhale.target
+    # and ensure the Wants= line contains the following:
+    # Wants=funkwhale-server.service funkwhale-worker.service funkwhale-beat.service
+    nano /etc/systemd/system/funkwhale.target
+    # reload configuration
+    systemctl daemon-reload
+
+Docker users already have celerybeat enabled.
+
+
 0.8 (2018-04-02)
 ----------------
 
@@ -71,27 +144,16 @@ and add the following snippets::
 This will ensure federation endpoints will be reachable in the future.
 You can of course skip this part if you know you will not federate your instance.
 
-A new ``FEDERATION_ENABLED`` env var have also been added to control wether
+A new ``FEDERATION_ENABLED`` env var have also been added to control whether
 federation is enabled or not on the application side. This settings defaults
-to True, which should have no consequencies at the moment, since actual
+to True, which should have no consequences at the moment, since actual
 federation is not implemented and the only available endpoints are for
 testing purposes.
 
 Add ``FEDERATION_ENABLED=false`` to your .env file to disable federation
 on the application side.
 
-The last step involves generating RSA private and public keys for signing
-your instance requests on the federation. This can be done via::
-
-    # on docker setups
-    docker-compose run --rm api python manage.py generate_keys --no-input
-
-    # on non-docker setups
-    source /srv/funkwhale/virtualenv/bin/activate
-    source /srv/funkwhale/load_env
-    python manage.py generate_keys --no-input
-
-To test and troobleshoot federation, we've added a bot account. This bot is available at @test@yourinstancedomain,
+To test and troubleshoot federation, we've added a bot account. This bot is available at @test@yourinstancedomain,
 and sending it "/ping", for example, via Mastodon, should trigger
 a response.
 
diff --git a/api/funkwhale_api/__init__.py b/api/funkwhale_api/__init__.py
index ecd44e04..70cf5b1f 100644
--- a/api/funkwhale_api/__init__.py
+++ b/api/funkwhale_api/__init__.py
@@ -1,3 +1,3 @@
 # -*- coding: utf-8 -*-
-__version__ = '0.8'
+__version__ = '0.9'
 __version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace('-', '.', 1).split('.')])
diff --git a/changes/changelog.d/136.feature b/changes/changelog.d/136.feature
deleted file mode 100644
index d869df31..00000000
--- a/changes/changelog.d/136.feature
+++ /dev/null
@@ -1 +0,0 @@
-Can now follow and import music from remote libraries (#136, #137)
diff --git a/changes/changelog.d/148.enhancement b/changes/changelog.d/148.enhancement
deleted file mode 100644
index 074e0b0b..00000000
--- a/changes/changelog.d/148.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-User admin now includes signup and last login dates (#148)
diff --git a/changes/changelog.d/162-script.enhancement b/changes/changelog.d/162-script.enhancement
deleted file mode 100644
index ac501a0a..00000000
--- a/changes/changelog.d/162-script.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Added a i18n-extract yarn script to extract strings to PO files (#162)
diff --git a/changes/changelog.d/5.feature b/changes/changelog.d/5.feature
deleted file mode 100644
index d3600048..00000000
--- a/changes/changelog.d/5.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add internationalization support (#5)
diff --git a/changes/changelog.d/user-agent.enhancement b/changes/changelog.d/user-agent.enhancement
deleted file mode 100644
index 605e1f6a..00000000
--- a/changes/changelog.d/user-agent.enhancement
+++ /dev/null
@@ -1,2 +0,0 @@
-We now use a proper user agent including instance version and url during
-outgoing requests
-- 
GitLab