Version bump and release for 0.17
This commit is contained in:
parent
1bc9cdd5cf
commit
dc1e4fb0c7
194
CHANGELOG
194
CHANGELOG
|
@ -10,6 +10,200 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.
|
|||
|
||||
.. towncrier
|
||||
|
||||
0.17 (2018-10-07)
|
||||
-----------------
|
||||
|
||||
Per user libraries
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This release contains a big change in music management. This has a lot of impact
|
||||
on how Funkwhale behaves, and you should have a look at
|
||||
https://docs.funkwhale.audio/upgrading/0.17.html for information
|
||||
about what changed and how to migrate.
|
||||
|
||||
|
||||
Features:
|
||||
|
||||
- Per user libraries (#463, also fixes #160 and #147)
|
||||
- Authentication using a LDAP directory (#194)
|
||||
|
||||
|
||||
Enhancements:
|
||||
|
||||
- Add configuration option to set Musicbrainz hostname
|
||||
- Add sign up link in the sidebar (#408)
|
||||
- Added a library widget to display libraries associated with a track, album
|
||||
and artist (#551)
|
||||
- Ensure from_activity field is not required in django's admin (#546)
|
||||
- Move setting link from profile page to the sidebar (#406)
|
||||
- Simplified and less error-prone nginx setup (#358)
|
||||
|
||||
Bugfixes:
|
||||
|
||||
- Do not restart current song when rordering queue, deleting tracks from queue
|
||||
or adding tracks to queue (#464)
|
||||
- Fix broken icons in playlist editor (#515)
|
||||
- Fixed a few untranslated strings (#559)
|
||||
- Fixed splitted album when importing from federation (#346)
|
||||
- Fixed toggle mute in volume bar does not restore previous volume level (#514)
|
||||
- Fixed wrong env file URL and display bugs in deployment documentation (#520)
|
||||
- Fixed wrong title in PlayButton (#435)
|
||||
- Remove transparency on artist page button (#517)
|
||||
- Set sane width default for ui cards and center play button (#530)
|
||||
- Updated wrong icon and copy in play button dropdown (#436)
|
||||
|
||||
|
||||
Documentation:
|
||||
|
||||
- Fixed wrong URLs for docker / nginx files in documentation (#537)
|
||||
|
||||
|
||||
Other:
|
||||
|
||||
- Added a merge request template and more documentation about the changelog
|
||||
|
||||
|
||||
Using a LDAP directory to authenticate to your Funkwhale instance
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Funkwhale now support LDAP as an authentication source: you can configure
|
||||
your instance to delegate login to a LDAP directory, which is especially
|
||||
useful when you have an existing directory and don't want to manage users
|
||||
manually.
|
||||
|
||||
You can use this authentication backend side by side with the classic one.
|
||||
|
||||
Have a look at https://docs.funkwhale.audio/installation/ldap.html
|
||||
for detailed instructions on how to set this up.
|
||||
|
||||
|
||||
Simplified nginx setup [Docker: Manual action required]
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
We've received a lot of user feedback regarding our installation process,
|
||||
and it seems the proxy part is the one which is the most confusing and difficult.
|
||||
Unfortunately, this is also the one where errors and mistakes can completely break
|
||||
the application.
|
||||
|
||||
To make things easier for everyone, we now offer a simplified deployment
|
||||
process for the reverse proxy part. This will make upgrade of the proxy configuration
|
||||
significantly easier on docker deployments.
|
||||
|
||||
On non-docker instances, you have nothing to do.
|
||||
|
||||
If you have a dockerized instance, here is the upgrade path.
|
||||
|
||||
First, tweak your .env file::
|
||||
|
||||
# remove the FUNKWHALE_URL variable
|
||||
# and add the next variables
|
||||
FUNKWHALE_HOSTNAME=yourdomain.funkwhale
|
||||
FUNKWHALE_PROTOCOL=https
|
||||
|
||||
# add the following variable, matching the path your app is deployed
|
||||
# leaving the default should work fine if you deployed using the same
|
||||
# paths as the documentation
|
||||
FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist
|
||||
|
||||
Then, add the following block at the end of your docker-compose.yml file::
|
||||
|
||||
# existing services
|
||||
api:
|
||||
...
|
||||
celeryworker:
|
||||
...
|
||||
|
||||
# new service
|
||||
nginx:
|
||||
image: nginx
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
# Override those variables in your .env file if needed
|
||||
- "NGINX_MAX_BODY_SIZE=${NGINX_MAX_BODY_SIZE-30M}"
|
||||
volumes:
|
||||
- "./nginx/funkwhale.template:/etc/nginx/conf.d/funkwhale.template:ro"
|
||||
- "./nginx/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro"
|
||||
- "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:ro"
|
||||
- "${MEDIA_ROOT}:${MEDIA_ROOT}:ro"
|
||||
- "${STATIC_ROOT}:${STATIC_ROOT}:ro"
|
||||
- "${FUNKWHALE_FRONTEND_PATH}:/frontend:ro"
|
||||
ports:
|
||||
# override those variables in your .env file if needed
|
||||
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
|
||||
command: >
|
||||
sh -c "envsubst \"`env | awk -F = '{printf \" $$%s\", $$1}'`\"
|
||||
< /etc/nginx/conf.d/funkwhale.template
|
||||
> /etc/nginx/conf.d/default.conf
|
||||
&& cat /etc/nginx/conf.d/default.conf
|
||||
&& nginx -g 'daemon off;'"
|
||||
links:
|
||||
- api
|
||||
|
||||
By doing that, you'll enable a dockerized nginx that will automatically be
|
||||
configured to serve your Funkwhale instance.
|
||||
|
||||
Download the required configuration files for the nginx container:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
cd /srv/funkwhale
|
||||
mkdir nginx
|
||||
curl -L -o nginx/funkwhale.template "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/docker.nginx.template"
|
||||
curl -L -o nginx/funkwhale_proxy.conf "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/funkwhale_proxy.conf"
|
||||
|
||||
Update the funkwhale.conf configuration of your server's reverse-proxy::
|
||||
|
||||
# the file should match something like that, upgrade all variables
|
||||
# between ${} to match the ones in your .env file,
|
||||
# and your SSL configuration if you're not using let's encrypt
|
||||
# The important thing is that you only have a single location block
|
||||
# that proxies everything to your dockerized nginx.
|
||||
|
||||
sudo nano /etc/nginx/sites-enabled/funkwhale.conf
|
||||
upstream fw {
|
||||
# depending on your setup, you may want to update this
|
||||
server ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT};
|
||||
}
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name ${FUNKWHALE_HOSTNAME};
|
||||
location / { return 301 https://$host$request_uri; }
|
||||
}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
server_name ${FUNKWHALE_HOSTNAME};
|
||||
|
||||
# TLS
|
||||
ssl_protocols TLSv1.2;
|
||||
ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_certificate /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/privkey.pem;
|
||||
|
||||
# HSTS
|
||||
add_header Strict-Transport-Security "max-age=31536000";
|
||||
|
||||
location / {
|
||||
include /etc/nginx/funkwhale_proxy.conf;
|
||||
proxy_pass http://fw/;
|
||||
}
|
||||
}
|
||||
|
||||
Check that your configuration is valid then reload:
|
||||
|
||||
sudo nginx -t
|
||||
sudo systemctl reload nginx
|
||||
|
||||
|
||||
0.16.3 (2018-08-21)
|
||||
-------------------
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
__version__ = "0.16.3"
|
||||
__version__ = "0.17"
|
||||
__version_info__ = tuple(
|
||||
[
|
||||
int(num) if num.isdigit() else num
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
Authentication using a LDAP directory (#194)
|
||||
|
||||
Using a LDAP directory to authenticate to your Funkwhale instance
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Funkwhale now support LDAP as an authentication source: you can configure
|
||||
your instance to delegate login to a LDAP directory, which is especially
|
||||
useful when you have an existing directory and don't want to manage users
|
||||
manually.
|
||||
|
||||
You can use this authentication backend side by side with the classic one.
|
||||
|
||||
Have a look at https://docs.funkwhale.audio/installation/ldap.html
|
||||
for detailed instructions on how to set this up.
|
|
@ -1 +0,0 @@
|
|||
- Fixed splitted album when importing from federation (#346)
|
|
@ -1,128 +0,0 @@
|
|||
Simplified and less error-prone nginx setup (#358)
|
||||
|
||||
|
||||
Simplified nginx setup [Docker: Manual action required]
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
We've received a lot of user feedback regarding our installation process,
|
||||
and it seems the proxy part is the one which is the most confusing and difficult.
|
||||
Unfortunately, this is also the one where errors and mistakes can completely break
|
||||
the application.
|
||||
|
||||
To make things easier for everyone, we now offer a simplified deployment
|
||||
process for the reverse proxy part. This will make upgrade of the proxy configuration
|
||||
significantly easier on docker deployments.
|
||||
|
||||
On non-docker instances, you have nothing to do.
|
||||
|
||||
If you have a dockerized instance, here is the upgrade path.
|
||||
|
||||
First, tweak your .env file::
|
||||
|
||||
# remove the FUNKWHALE_URL variable
|
||||
# and add the next variables
|
||||
FUNKWHALE_HOSTNAME=yourdomain.funkwhale
|
||||
FUNKWHALE_PROTOCOL=https
|
||||
|
||||
# add the following variable, matching the path your app is deployed
|
||||
# leaving the default should work fine if you deployed using the same
|
||||
# paths as the documentation
|
||||
FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist
|
||||
|
||||
Then, add the following block at the end of your docker-compose.yml file::
|
||||
|
||||
# existing services
|
||||
api:
|
||||
...
|
||||
celeryworker:
|
||||
...
|
||||
|
||||
# new service
|
||||
nginx:
|
||||
image: nginx
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
# Override those variables in your .env file if needed
|
||||
- "NGINX_MAX_BODY_SIZE=${NGINX_MAX_BODY_SIZE-30M}"
|
||||
volumes:
|
||||
- "./nginx/funkwhale.template:/etc/nginx/conf.d/funkwhale.template:ro"
|
||||
- "./nginx/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro"
|
||||
- "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:ro"
|
||||
- "${MEDIA_ROOT}:${MEDIA_ROOT}:ro"
|
||||
- "${STATIC_ROOT}:${STATIC_ROOT}:ro"
|
||||
- "${FUNKWHALE_FRONTEND_PATH}:/frontend:ro"
|
||||
ports:
|
||||
# override those variables in your .env file if needed
|
||||
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
|
||||
command: >
|
||||
sh -c "envsubst \"`env | awk -F = '{printf \" $$%s\", $$1}'`\"
|
||||
< /etc/nginx/conf.d/funkwhale.template
|
||||
> /etc/nginx/conf.d/default.conf
|
||||
&& cat /etc/nginx/conf.d/default.conf
|
||||
&& nginx -g 'daemon off;'"
|
||||
links:
|
||||
- api
|
||||
|
||||
By doing that, you'll enable a dockerized nginx that will automatically be
|
||||
configured to serve your Funkwhale instance.
|
||||
|
||||
Download the required configuration files for the nginx container:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
cd /srv/funkwhale
|
||||
mkdir nginx
|
||||
curl -L -o nginx/funkwhale.template "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/docker.nginx.template"
|
||||
curl -L -o nginx/funkwhale_proxy.conf "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/funkwhale_proxy.conf"
|
||||
|
||||
Update the funkwhale.conf configuration of your server's reverse-proxy::
|
||||
|
||||
# the file should match something like that, upgrade all variables
|
||||
# between ${} to match the ones in your .env file,
|
||||
# and your SSL configuration if you're not using let's encrypt
|
||||
# The important thing is that you only have a single location block
|
||||
# that proxies everything to your dockerized nginx.
|
||||
|
||||
sudo nano /etc/nginx/sites-enabled/funkwhale.conf
|
||||
upstream fw {
|
||||
# depending on your setup, you may want to update this
|
||||
server ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT};
|
||||
}
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name ${FUNKWHALE_HOSTNAME};
|
||||
location / { return 301 https://$host$request_uri; }
|
||||
}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
server_name ${FUNKWHALE_HOSTNAME};
|
||||
|
||||
# TLS
|
||||
ssl_protocols TLSv1.2;
|
||||
ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_certificate /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/privkey.pem;
|
||||
|
||||
# HSTS
|
||||
add_header Strict-Transport-Security "max-age=31536000";
|
||||
|
||||
location / {
|
||||
include /etc/nginx/funkwhale_proxy.conf;
|
||||
proxy_pass http://fw/;
|
||||
}
|
||||
}
|
||||
|
||||
Check that your configuration is valid then reload:
|
||||
|
||||
sudo nginx -t
|
||||
sudo systemctl reload nginx
|
|
@ -1 +0,0 @@
|
|||
Document that server clock needs to be synced via NTP to avoid federation issues (#380)
|
|
@ -1 +0,0 @@
|
|||
Move setting link from profile page to the sidebar (#406)
|
|
@ -1 +0,0 @@
|
|||
Add sign up link in the sidebar (#408)
|
|
@ -1 +0,0 @@
|
|||
Fixed wrong title in PlayButton (#435)
|
|
@ -1 +0,0 @@
|
|||
Updated wrong icon and copy in play button dropdown (#436)
|
|
@ -1,9 +0,0 @@
|
|||
- Per user libraries (#463, also fixes #160 and #147)
|
||||
|
||||
Per user libraries
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This release contains a big change in music management. This has a lot of impact
|
||||
on how Funkwhale behaves, and you should have a look at
|
||||
https://docs.funkwhale.audio/upgrading/0.17.html for information
|
||||
about what changed and how to migrate.
|
|
@ -1,2 +0,0 @@
|
|||
Do not restart current song when rordering queue, deleting tracks from queue or
|
||||
adding tracks to queue (#464)
|
|
@ -1 +0,0 @@
|
|||
Add configuration option to set Musicbrainz hostname
|
|
@ -1 +0,0 @@
|
|||
Fixed toggle mute in volume bar does not restore previous volume level (#514)
|
|
@ -1 +0,0 @@
|
|||
Fix broken icons in playlist editor (#515)
|
|
@ -1 +0,0 @@
|
|||
Remove transparency on artist page button (#517)
|
|
@ -1 +0,0 @@
|
|||
Fixed wrong env file URL and display bugs in deployment documentation (#520)
|
|
@ -1 +0,0 @@
|
|||
Set sane width default for ui cards and center play button (#530)
|
|
@ -1 +0,0 @@
|
|||
Fixed wrong URLs for docker / nginx files in documentation (#537)
|
|
@ -1 +0,0 @@
|
|||
Ensure from_activity field is not required in django's admin (#546)
|
|
@ -1 +0,0 @@
|
|||
Technical documentation of music federation (#549)
|
|
@ -1 +0,0 @@
|
|||
Added a library widget to display libraries associated with a track, album and artist (#551)
|
|
@ -1 +0,0 @@
|
|||
Fixed a few untranslated strings (#559)
|
|
@ -1 +0,0 @@
|
|||
Added a merge request template and more documentation about the changelog
|
Loading…
Reference in New Issue