From f44d2b069471590f464ead71191b3c0fe4785408 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Tue, 22 Jan 2019 12:04:30 +0100 Subject: [PATCH] Version bump and changelog --- CHANGELOG | 291 ++++++++++++++++++ api/funkwhale_api/__init__.py | 2 +- changes/changelog.d/209.bugfix | 1 - changes/changelog.d/272.feature | 1 - changes/changelog.d/308.feature | 1 - changes/changelog.d/374.enhancement | 1 - changes/changelog.d/410.enhancement | 1 - changes/changelog.d/422.bugfix | 1 - changes/changelog.d/424.bugfix | 1 - changes/changelog.d/469.bugfix | 1 - changes/changelog.d/470.bugfix | 1 - changes/changelog.d/473.bugfix | 1 - changes/changelog.d/507.enhancement | 1 - changes/changelog.d/553.bugfix | 1 - changes/changelog.d/562.doc | 1 - changes/changelog.d/564.bugfix | 1 - changes/changelog.d/573.enhancement | 1 - changes/changelog.d/575.enhancement | 1 - changes/changelog.d/576.enhancement | 1 - changes/changelog.d/578.feature | 1 - changes/changelog.d/581.bugfix | 1 - changes/changelog.d/585.enhancement | 1 - changes/changelog.d/586.enhancement | 1 - changes/changelog.d/589.bugfix | 1 - changes/changelog.d/597.bugfix | 1 - changes/changelog.d/598.bugfix | 1 - changes/changelog.d/599.bugfix | 1 - changes/changelog.d/600.enhancement | 1 - changes/changelog.d/606.bugfix | 1 - changes/changelog.d/608.bugfix | 1 - changes/changelog.d/610.bugfix | 1 - changes/changelog.d/611.enhancement | 1 - changes/changelog.d/612.enhancement | 1 - changes/changelog.d/613.bugfix | 1 - changes/changelog.d/614.enhancement | 1 - changes/changelog.d/616.bugfix | 1 - changes/changelog.d/617.bugfix | 1 - changes/changelog.d/621.bugfix | 1 - changes/changelog.d/622.enhancement | 2 - changes/changelog.d/626.enhancement | 1 - changes/changelog.d/631.enhacement | 1 - changes/changelog.d/632.bugfix | 1 - changes/changelog.d/637.bugfix | 1 - changes/changelog.d/640.enhancement | 2 - changes/changelog.d/642.documentation | 1 - changes/changelog.d/643.bugfix | 1 - changes/changelog.d/644.bugfix | 1 - changes/changelog.d/645.doc | 1 - changes/changelog.d/647.bugfix | 1 - changes/changelog.d/648.enhancement | 1 - changes/changelog.d/650.enhancement | 1 - changes/changelog.d/654.enhancement | 1 - changes/changelog.d/656.enhancement | 1 - changes/changelog.d/657.enhancement | 1 - changes/changelog.d/658.enhancement | 1 - changes/changelog.d/659.bugfix | 1 - changes/changelog.d/663.bugfix | 1 - changes/changelog.d/allowed-hosts.enhancement | 1 - changes/changelog.d/alpine.enhancement | 1 - .../changelog.d/cover-other-mp3.enhancement | 1 - .../db-query-optimization.enhancement | 1 - .../favorites-performance.enhancement | 1 - changes/changelog.d/footer.enhancement | 1 - .../changelog.d/front-performance.enhancement | 2 - .../library-update-federation.enhancement | 1 - changes/changelog.d/moderation-tools.feature | 2 - changes/changelog.d/searchorder.enhancement | 1 - changes/notes.rst | 192 ------------ 68 files changed, 292 insertions(+), 262 deletions(-) delete mode 100644 changes/changelog.d/209.bugfix delete mode 100644 changes/changelog.d/272.feature delete mode 100644 changes/changelog.d/308.feature delete mode 100644 changes/changelog.d/374.enhancement delete mode 100644 changes/changelog.d/410.enhancement delete mode 100644 changes/changelog.d/422.bugfix delete mode 100644 changes/changelog.d/424.bugfix delete mode 100644 changes/changelog.d/469.bugfix delete mode 100644 changes/changelog.d/470.bugfix delete mode 100644 changes/changelog.d/473.bugfix delete mode 100644 changes/changelog.d/507.enhancement delete mode 100644 changes/changelog.d/553.bugfix delete mode 100644 changes/changelog.d/562.doc delete mode 100644 changes/changelog.d/564.bugfix delete mode 100644 changes/changelog.d/573.enhancement delete mode 100644 changes/changelog.d/575.enhancement delete mode 100644 changes/changelog.d/576.enhancement delete mode 100644 changes/changelog.d/578.feature delete mode 100644 changes/changelog.d/581.bugfix delete mode 100644 changes/changelog.d/585.enhancement delete mode 100644 changes/changelog.d/586.enhancement delete mode 100644 changes/changelog.d/589.bugfix delete mode 100644 changes/changelog.d/597.bugfix delete mode 100644 changes/changelog.d/598.bugfix delete mode 100644 changes/changelog.d/599.bugfix delete mode 100644 changes/changelog.d/600.enhancement delete mode 100644 changes/changelog.d/606.bugfix delete mode 100644 changes/changelog.d/608.bugfix delete mode 100644 changes/changelog.d/610.bugfix delete mode 100644 changes/changelog.d/611.enhancement delete mode 100644 changes/changelog.d/612.enhancement delete mode 100644 changes/changelog.d/613.bugfix delete mode 100644 changes/changelog.d/614.enhancement delete mode 100644 changes/changelog.d/616.bugfix delete mode 100644 changes/changelog.d/617.bugfix delete mode 100644 changes/changelog.d/621.bugfix delete mode 100644 changes/changelog.d/622.enhancement delete mode 100644 changes/changelog.d/626.enhancement delete mode 100644 changes/changelog.d/631.enhacement delete mode 100644 changes/changelog.d/632.bugfix delete mode 100644 changes/changelog.d/637.bugfix delete mode 100644 changes/changelog.d/640.enhancement delete mode 100644 changes/changelog.d/642.documentation delete mode 100644 changes/changelog.d/643.bugfix delete mode 100644 changes/changelog.d/644.bugfix delete mode 100644 changes/changelog.d/645.doc delete mode 100644 changes/changelog.d/647.bugfix delete mode 100644 changes/changelog.d/648.enhancement delete mode 100644 changes/changelog.d/650.enhancement delete mode 100644 changes/changelog.d/654.enhancement delete mode 100644 changes/changelog.d/656.enhancement delete mode 100644 changes/changelog.d/657.enhancement delete mode 100644 changes/changelog.d/658.enhancement delete mode 100644 changes/changelog.d/659.bugfix delete mode 100644 changes/changelog.d/663.bugfix delete mode 100644 changes/changelog.d/allowed-hosts.enhancement delete mode 100644 changes/changelog.d/alpine.enhancement delete mode 100644 changes/changelog.d/cover-other-mp3.enhancement delete mode 100644 changes/changelog.d/db-query-optimization.enhancement delete mode 100644 changes/changelog.d/favorites-performance.enhancement delete mode 100644 changes/changelog.d/footer.enhancement delete mode 100644 changes/changelog.d/front-performance.enhancement delete mode 100644 changes/changelog.d/library-update-federation.enhancement delete mode 100644 changes/changelog.d/moderation-tools.feature delete mode 100644 changes/changelog.d/searchorder.enhancement diff --git a/CHANGELOG b/CHANGELOG index ad7d4e136..5bd9ef312 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,297 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog. .. towncrier +0.18 "Naomi" (2019-01-22) +------------------------- + +This release is dedicated to Naomi, an early contributor and beta tester of Funkwhale. +Her positivity, love and support have been incredibly helpful and helped shape the project +as you can enjoy it today. Thank you so much Naomi <3 + +Upgrade instructions are available at +https://docs.funkwhale.audio/index.html, ensure you also execute the intructions +marked with ``[manual action required]`` and ``[manual action suggested]``. + +See ``Full changelog`` below for an exhaustive list of changes! + +Audio transcoding is back! +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +After removal of our first, buggy transcoding implementation, we're proud to announce +that this feature is back. It is enabled by default, and can be configured/disabled +in your instance settings! + +This feature works in the browser, with federated/non-federated tracks and using Subsonic clients. +Transcoded tracks are generated on the fly, and cached for a configurable amount of time, +to reduce the load on the server. + + +Licensing and copyright information +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Funkwhale is now able to parse copyright and license data from file and store +this information. Apart from displaying it on each track detail page, +no additional behaviour is currently implemented to use this new data, but this +will change in future releases. + +License and copyright data is also broadcasted over federation. + +License matching is done on the content of the ``License`` tag in the files, +with a fallback on the ``Copyright`` tag. + +Funkwhale will successfully extract licensing data for the following licenses: + +- Creative Commons 0 (Public Domain) +- Creative Commons 1.0 (All declinations) +- Creative Commons 2.0 (All declinations) +- Creative Commons 2.5 (All declinations and countries) +- Creative Commons 3.0 (All declinations and countries) +- Creative Commons 4.0 (All declinations) + +Support for other licenses such as Art Libre or WTFPL will be added in future releases. + + +Instance-level moderation tools +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This release includes a first set of moderation tools that will give more control +to admins about the way their instance federate with other instance and accounts on the network. +Using these tools, it's now possible to: + +- Browse known accounts and domains, and associated data (storage size, software version, etc.) +- Purge data belonging to given accounts and domains +- Block or partially restrict interactions with any account or domain + +All those features are usable using a brand new "moderation" permission, meaning +you can appoints one or nultiple moderators to help with this task. + +I'd like to thank all Mastodon contributors, because some of the these tools are heavily +inspired from what's being done in Mastodon. Thank you so much! + + +Iframe widget to embed public tracks and albums [manual action required] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Funkwhale now support embedding a lightweight audio player on external websites +for album and tracks that are available in public libraries. Important pages, +such as artist, album and track pages also include OpenGraph tags that will +enable previews on compatible apps (like sharing a Funkwhale track link on Mastodon +or Twitter). + +To achieve that, we had to tweak the way Funkwhale front-end is served. You'll have +to modify your nginx configuration when upgrading to keep your instance working. + +**On docker setups**, edit your ``/srv/funkwhale/nginx/funkwhale.template`` and replace +the ``location /api/`` and `location /` blocks by the following snippets:: + + location / { + include /etc/nginx/funkwhale_proxy.conf; + # this is needed if you have file import via upload enabled + client_max_body_size ${NGINX_MAX_BODY_SIZE}; + proxy_pass http://funkwhale-api/; + } + + location /front/ { + alias /frontend/; + } + +The change of configuration will be picked when restarting your nginx container. + +**On non-docker setups**, edit your ``/etc/nginx/sites-available/funkwhale.conf`` file, +and replace the ``location /api/`` and `location /` blocks by the following snippets:: + + + location / { + include /etc/nginx/funkwhale_proxy.conf; + # this is needed if you have file import via upload enabled + client_max_body_size ${NGINX_MAX_BODY_SIZE}; + proxy_pass http://funkwhale-api/; + } + + location /front/ { + alias ${FUNKWHALE_FRONTEND_PATH}/; + } + +Replace ``${FUNKWHALE_FRONTEND_PATH}`` by the corresponding variable from your .env file, +which should be ``/srv/funkwhale/front/dist`` by default, then reload your nginx process with +``sudo systemctl reload nginx``. + + +Alternative docker deployment method +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Thanks to the awesome done by @thetarkus at https://github.com/thetarkus/docker-funkwhale, +we're now able to provide an alternative and easier Docker deployment method! + +In contrast with our current, multi-container offer, this method integrates +all Funkwhale processes and services (database, redis, etc.) into a single, easier to deploy container. + +Both method will coexist in parallel, as each one has pros and cons. You can learn more +about this exciting new deployment option by visiting https://docs.funkwhale.audio/installation/docker.html! + +Automatically load .env file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +On non-docker deployments, earlier versions required you to source +the config/.env file before launching any Funkwhale command, with ``export $(cat config/.env | grep -v ^# | xargs)`` +This led to more complex and error prode deployment / setup. + +This is not the case anymore, and Funkwhale will automatically load this file if it's available. + + +Delete pre 0.17 federated tracks [manual action suggested] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you were using Funkwhale before the 0.17 release and federated with other instances, +it's possible that you still have some unplayable federated files in the database. + +To purge the database of those entries, you can run the following command: + +On docker setups:: + + docker-compose run --rm api python manage.py script delete_pre_017_federated_uploads --no-input + +On non-docker setups:: + + python manage.py script delete_pre_017_federated_uploads --no-input + + +Enable gzip compression [manual action suggested] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Gzip compression will be enabled on new instances by default +and will reduce the amount of bandwidth consumed by your instance. + +If you with to benefit from gzip compression on your instance, +edit your reverse proxy virtualhost file (located at ``/etc/nginx/sites-available/funkwhale.conf``) and add the following snippet +in the server block, then reload your nginx server:: + + server { + # ... exiting configuration + + # compression settings + gzip on; + gzip_comp_level 5; + gzip_min_length 256; + gzip_proxied any; + gzip_vary on; + + gzip_types + application/atom+xml + application/javascript + application/json + application/ld+json + application/activity+json + application/manifest+json + application/rss+xml + application/vnd.geo+json + application/vnd.ms-fontobject + application/x-font-ttf + application/x-web-app-manifest+json + application/xhtml+xml + application/xml + font/opentype + image/bmp + image/svg+xml + image/x-icon + text/cache-manifest + text/css + text/plain + text/vcard + text/vnd.rim.location.xloc + text/vtt + text/x-component + text/x-cross-domain-policy; + # end of compression settings + } + +Full changelog +^^^^^^^^^^^^^^ + +Features: + +- Allow embedding of albums and tracks available in public libraries via an