diff --git a/CHANGELOG b/CHANGELOG index ad7d4e136703799da8d5d626d3282af692566f21..5bd9ef31233d91baedebe3b4aa1d15b027bbf335 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 <iframe> (#578) +- Audio transcoding is back! (#272) +- First set of instance level moderation tools (#580, !521) +- Store licensing and copyright information from file metadata, if available (#308) + + +Enhancements: + +- Add UI elements for multi-disc albums (#631) +- Added alternative funkwhale/all-in-one docker image (#614) +- Broadcast library updates (name, description, visibility) over federation +- Based Docker image on alpine to have a smaller (and faster to build) image +- Improved front-end performance by stripping unused dependencies, reducing bundle size + and enabling gzip compression +- Improved accessibility by using main/section/nav tags and aria-labels in most critical places (#612) +- The progress bar in the player now display loading state / buffer loading (#586) +- Added "type: funkwhale" and "funkwhale-version" in Subsonic responses (#573) +- Documented keyboard shortcuts, list is now available by pressing "h" or in the footer (#611) +- Documented which Subsonic endpoints are implemented (#575) +- Hide invitation code field during signup when it's not required (#410) +- Importer will now pick embedded images in files with OTHER type if no COVER_FRONT is present +- Improved keyboard accessibility on player, queue and various controls (#576) +- Improved performance when listing playable tracks, albums and artists +- Increased default upload limit from 30 to 100MB (#654) +- Load env file in config/.env automatically to avoid sourcing it by hand (#626) +- More resilient date parsing during audio import, will not crash anymore on + invalid dates (#622) +- Now start radios immediatly, skipping any existing tracks in queue (#585) +- Officially support connecting to a password protected redis server, with + the redis://:password@localhost:6379/0 scheme (#640) +- Performance improvement when fetching favorites, down to a single, small http request +- Removed "Activity" page, since all the data is available on the "Browse" page (#600) +- Removed the need to specify the DJANGO_ALLOWED_HOSTS variable +- Restructured the footer, added useful links and removed unused content +- Show short entries first in search results to improve UX +- Store disc number and order tracks by disc number / position) (#507) +- Strip EXIF metadata from uploaded avatars to avoid leaking private data (#374) +- Support blind key rotation in HTTP Signatures (#658) +- Support setting a server URL in settings.json (#650) +- Updated default docker postgres version from 9.4 to 11 (#656) +- Updated lots of dependencies (especially django 2.0->2.1), and removed unused dependencies (#657) +- Improved test suite speed by reducing / disabling expensive operations (#648) + + +Bugfixes: + +- Fixed parsing of embedded file cover for ogg files tagged with MusicBrainz (#469) +- Upgraded core dependencies to fix websocket/messaging issues and possible memory leaks (#643) +- Fix ".None" extension when downloading Flac file (#473) +- Fixed None extension when downloading an in-place imported file (#621) +- Added a script to prune pre 0.17 federated tracks (#564) +- Advertise public libraries properly in ActivityPub representations (#553) +- Allow opus file upload (#598) +- Do not display "view on MusicBrainz" button if we miss the mbid (#422) +- Do not try to create unaccent extension if it's already present (#663) +- Ensure admin links in sidebar are displayed for users with relavant permissions, and only them (#597) +- Fix broken websocket connexion under Chrome browser (#589) +- Fix play button not starting playback with empty queue (#632) +- Fixed a styling inconsistency on about page when instance description was missing (#659) +- Fixed a UI discrepency in playlist tracks count (#647) +- Fixed greyed tracks in radio builder and detail page (#637) +- Fixed inconsistencies in subsonic error responses (#616) +- Fixed incorrect icon for "next track" in player control (#613) +- Fixed malformed search string when redirecting to LyricsWiki (#608) +- Fixed missing track count on various library cards (#581) +- Fixed skipped track when appending multiple tracks to the queue under certain conditions (#209) +- Fixed wrong album/track count on artist page (#599) +- Hide unplayable/emtpy playlists in "Browse playlist" pages (#424) +- Initial UI render using correct language from browser (#644) +- Invalid URI for reverse proxy websocket with apache (#617) +- Properly encode Wikipedia and lyrics search urls (#470) +- Refresh profile after user settings update to avoid cache issues (#606) +- Use role=button instead of empty links for player controls (#610) + + +Documentation: + +- Deploy documentation from the master branch instead of the develop branch to avoid inconsistencies (#642) +- Document how to find and use library id when importing files in CLI (#562) +- Fix documentation typos (#645) + + 0.17 (2018-10-07) ----------------- diff --git a/api/funkwhale_api/__init__.py b/api/funkwhale_api/__init__.py index 5c6c7cec794b990b94102029318ee15200aecba5..b6e74547810ecf92c68ba32f16c2b4324770dc70 100644 --- a/api/funkwhale_api/__init__.py +++ b/api/funkwhale_api/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -__version__ = "0.18-dev" +__version__ = "0.18" __version_info__ = tuple( [ int(num) if num.isdigit() else num diff --git a/changes/changelog.d/209.bugfix b/changes/changelog.d/209.bugfix deleted file mode 100644 index 00605735f154ae9b3e29c75d1f22ac27179758a4..0000000000000000000000000000000000000000 --- a/changes/changelog.d/209.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed skipped track when appending multiple tracks to the queue under certain conditions (#209) diff --git a/changes/changelog.d/272.feature b/changes/changelog.d/272.feature deleted file mode 100644 index 58d4f758467d7f091089a02246db9af9a64f2b4f..0000000000000000000000000000000000000000 --- a/changes/changelog.d/272.feature +++ /dev/null @@ -1 +0,0 @@ -Audio transcoding is back! (#272) diff --git a/changes/changelog.d/308.feature b/changes/changelog.d/308.feature deleted file mode 100644 index 7771f40e896e1caf7ed908da80bdcbc4b287e12b..0000000000000000000000000000000000000000 --- a/changes/changelog.d/308.feature +++ /dev/null @@ -1 +0,0 @@ -Store licensing and copyright information from file metadata, if available (#308) diff --git a/changes/changelog.d/374.enhancement b/changes/changelog.d/374.enhancement deleted file mode 100644 index 71d3e911ffca6fde3f68637a9c7b5a7ffc67c8f8..0000000000000000000000000000000000000000 --- a/changes/changelog.d/374.enhancement +++ /dev/null @@ -1 +0,0 @@ -Strip EXIF metadata from uploaded avatars to avoid leaking private data (#374) diff --git a/changes/changelog.d/410.enhancement b/changes/changelog.d/410.enhancement deleted file mode 100644 index e6ab6d00fd7e73cf6819a8527173747701a7b8ae..0000000000000000000000000000000000000000 --- a/changes/changelog.d/410.enhancement +++ /dev/null @@ -1 +0,0 @@ -Hide invitation code field during signup when it's not required (#410) diff --git a/changes/changelog.d/422.bugfix b/changes/changelog.d/422.bugfix deleted file mode 100644 index c75b19c7f7775bcde1b5d2c9db054d5765342a4a..0000000000000000000000000000000000000000 --- a/changes/changelog.d/422.bugfix +++ /dev/null @@ -1 +0,0 @@ -Do not display "view on MusicBrainz" button if we miss the mbid (#422) diff --git a/changes/changelog.d/424.bugfix b/changes/changelog.d/424.bugfix deleted file mode 100644 index bda2fafcb49e54c9de6789e91e13aa5ae8c694d3..0000000000000000000000000000000000000000 --- a/changes/changelog.d/424.bugfix +++ /dev/null @@ -1 +0,0 @@ -Hide unplayable/emtpy playlists in "Browse playlist" pages (#424) diff --git a/changes/changelog.d/469.bugfix b/changes/changelog.d/469.bugfix deleted file mode 100644 index 0754dac6dc2e2ffc60b8f2113a70361d3c112291..0000000000000000000000000000000000000000 --- a/changes/changelog.d/469.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed parsing of embedded file cover for ogg files tagged with MusicBrainz (#469) diff --git a/changes/changelog.d/470.bugfix b/changes/changelog.d/470.bugfix deleted file mode 100644 index f26c4ddc30487bb35ab247c3078f239589b6d91d..0000000000000000000000000000000000000000 --- a/changes/changelog.d/470.bugfix +++ /dev/null @@ -1 +0,0 @@ -Properly encode Wikipedia and lyrics search urls (#470) diff --git a/changes/changelog.d/473.bugfix b/changes/changelog.d/473.bugfix deleted file mode 100644 index 2346eb4598e50087d9f334c070e625fdcbf814b9..0000000000000000000000000000000000000000 --- a/changes/changelog.d/473.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix ".None" extension when downloading Flac file (#473) diff --git a/changes/changelog.d/507.enhancement b/changes/changelog.d/507.enhancement deleted file mode 100644 index c21f51d8136a64a5ae47b9163e52b97d9ca95e33..0000000000000000000000000000000000000000 --- a/changes/changelog.d/507.enhancement +++ /dev/null @@ -1 +0,0 @@ -Store disc number and order tracks by disc number / position) (#507) \ No newline at end of file diff --git a/changes/changelog.d/553.bugfix b/changes/changelog.d/553.bugfix deleted file mode 100644 index 3747bf62e4161ef4fce53b260e0605cba376aacb..0000000000000000000000000000000000000000 --- a/changes/changelog.d/553.bugfix +++ /dev/null @@ -1 +0,0 @@ -Advertise public libraries properly in ActivityPub representations (#553) diff --git a/changes/changelog.d/562.doc b/changes/changelog.d/562.doc deleted file mode 100644 index 664a94f01d748e81676c534d10df0211a014db95..0000000000000000000000000000000000000000 --- a/changes/changelog.d/562.doc +++ /dev/null @@ -1 +0,0 @@ -Document how to find and use library id when importing files in CLI (#562) diff --git a/changes/changelog.d/564.bugfix b/changes/changelog.d/564.bugfix deleted file mode 100644 index 9bb41829f7ef8df7a9fa89c980fcfac663e82a99..0000000000000000000000000000000000000000 --- a/changes/changelog.d/564.bugfix +++ /dev/null @@ -1 +0,0 @@ -Added a script to prune pre 0.17 federated tracks (#564) diff --git a/changes/changelog.d/573.enhancement b/changes/changelog.d/573.enhancement deleted file mode 100644 index 45a29e809b0283b4653b56cc45f68e73ee83a1d6..0000000000000000000000000000000000000000 --- a/changes/changelog.d/573.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added "type: funkwhale" and "funkwhale-version" in Subsonic responses (#573) diff --git a/changes/changelog.d/575.enhancement b/changes/changelog.d/575.enhancement deleted file mode 100644 index eb1781defd99974fb7c6213fb7f7d5154d3a3d2c..0000000000000000000000000000000000000000 --- a/changes/changelog.d/575.enhancement +++ /dev/null @@ -1 +0,0 @@ -Documented which Subsonic endpoints are implemented (#575) diff --git a/changes/changelog.d/576.enhancement b/changes/changelog.d/576.enhancement deleted file mode 100644 index ee6087a73d77db263119bb4c8b0a4f0617ceb262..0000000000000000000000000000000000000000 --- a/changes/changelog.d/576.enhancement +++ /dev/null @@ -1 +0,0 @@ -Improved keyboard accessibility on player, queue and various controls (#576) diff --git a/changes/changelog.d/578.feature b/changes/changelog.d/578.feature deleted file mode 100644 index 3d98dd71b05464d9e5513d89825985551db3d53a..0000000000000000000000000000000000000000 --- a/changes/changelog.d/578.feature +++ /dev/null @@ -1 +0,0 @@ -Allow embedding of albums and tracks available in public libraries via an <iframe> (#578) diff --git a/changes/changelog.d/581.bugfix b/changes/changelog.d/581.bugfix deleted file mode 100644 index 9cb1cd42f9523ba50bf6656dd36d97f67fa9cecf..0000000000000000000000000000000000000000 --- a/changes/changelog.d/581.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed missing track count on various library cards (#581) diff --git a/changes/changelog.d/585.enhancement b/changes/changelog.d/585.enhancement deleted file mode 100644 index 51c6aa8214ad787657e53d9c0c62e8f47d1d5dcc..0000000000000000000000000000000000000000 --- a/changes/changelog.d/585.enhancement +++ /dev/null @@ -1 +0,0 @@ -Now start radios immediatly, skipping any existing tracks in queue (#585) diff --git a/changes/changelog.d/586.enhancement b/changes/changelog.d/586.enhancement deleted file mode 100644 index bee8c1c968f5ac7d5a9541235562ad675075bd25..0000000000000000000000000000000000000000 --- a/changes/changelog.d/586.enhancement +++ /dev/null @@ -1 +0,0 @@ -The progress bar in the player now display loading state / buffer loading (#586) diff --git a/changes/changelog.d/589.bugfix b/changes/changelog.d/589.bugfix deleted file mode 100644 index a5d4887f8ac67c3398a1daab3a834d33ad003202..0000000000000000000000000000000000000000 --- a/changes/changelog.d/589.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix broken websocket connexion under Chrome browser (#589) diff --git a/changes/changelog.d/597.bugfix b/changes/changelog.d/597.bugfix deleted file mode 100644 index d129513224500e0a255691321a2d758cabfb9859..0000000000000000000000000000000000000000 --- a/changes/changelog.d/597.bugfix +++ /dev/null @@ -1 +0,0 @@ -Ensure admin links in sidebar are displayed for users with relavant permissions, and only them (#597) diff --git a/changes/changelog.d/598.bugfix b/changes/changelog.d/598.bugfix deleted file mode 100644 index f004778341a60b81fc480c6e82d499f4c17b1d4f..0000000000000000000000000000000000000000 --- a/changes/changelog.d/598.bugfix +++ /dev/null @@ -1 +0,0 @@ -Allow opus file upload (#598) diff --git a/changes/changelog.d/599.bugfix b/changes/changelog.d/599.bugfix deleted file mode 100644 index 46d44065ba347e579c8982380799b6955707eade..0000000000000000000000000000000000000000 --- a/changes/changelog.d/599.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed wrong album/track count on artist page (#599) diff --git a/changes/changelog.d/600.enhancement b/changes/changelog.d/600.enhancement deleted file mode 100644 index b91f11713891bb08b7b22d56c6d5a087b2c631f2..0000000000000000000000000000000000000000 --- a/changes/changelog.d/600.enhancement +++ /dev/null @@ -1 +0,0 @@ -Removed "Activity" page, since all the data is available on the "Browse" page (#600) diff --git a/changes/changelog.d/606.bugfix b/changes/changelog.d/606.bugfix deleted file mode 100644 index 95db711975d8e37affe5ca6b127f1b5f48598eef..0000000000000000000000000000000000000000 --- a/changes/changelog.d/606.bugfix +++ /dev/null @@ -1 +0,0 @@ -Refresh profile after user settings update to avoid cache issues (#606) diff --git a/changes/changelog.d/608.bugfix b/changes/changelog.d/608.bugfix deleted file mode 100644 index eb2b7dbec96fe7d8931662fec5c7cc8ab0bff654..0000000000000000000000000000000000000000 --- a/changes/changelog.d/608.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed malformed search string when redirecting to LyricsWiki (#608) \ No newline at end of file diff --git a/changes/changelog.d/610.bugfix b/changes/changelog.d/610.bugfix deleted file mode 100644 index 832f58514db6a10f51645485a92f3ddd5bb591ef..0000000000000000000000000000000000000000 --- a/changes/changelog.d/610.bugfix +++ /dev/null @@ -1 +0,0 @@ -Use role=button instead of empty links for player controls (#610) diff --git a/changes/changelog.d/611.enhancement b/changes/changelog.d/611.enhancement deleted file mode 100644 index 1c6121d67b3c8820d5f7892ddbfa0e1b80a7dff6..0000000000000000000000000000000000000000 --- a/changes/changelog.d/611.enhancement +++ /dev/null @@ -1 +0,0 @@ -Documented keyboard shortcuts, list is now available by pressing "h" or in the footer (#611) diff --git a/changes/changelog.d/612.enhancement b/changes/changelog.d/612.enhancement deleted file mode 100644 index 092f3ec5d0a73087448a1a4e745244570c986369..0000000000000000000000000000000000000000 --- a/changes/changelog.d/612.enhancement +++ /dev/null @@ -1 +0,0 @@ -Improved accessibility by using main/section/nav tags and aria-labels in most critical places (#612) diff --git a/changes/changelog.d/613.bugfix b/changes/changelog.d/613.bugfix deleted file mode 100644 index a03fe1d27a8c2b20a01d8b11a39d0b4f1e35d9a9..0000000000000000000000000000000000000000 --- a/changes/changelog.d/613.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed incorrect icon for "next track" in player control (#613) \ No newline at end of file diff --git a/changes/changelog.d/614.enhancement b/changes/changelog.d/614.enhancement deleted file mode 100644 index 359fd1905d507d950dc895807d07f00cd10084bd..0000000000000000000000000000000000000000 --- a/changes/changelog.d/614.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added alternative funkwhale/all-in-one docker image (#614) diff --git a/changes/changelog.d/616.bugfix b/changes/changelog.d/616.bugfix deleted file mode 100644 index fa6db30ee0c27e717078e40818c6fc34a04eff8a..0000000000000000000000000000000000000000 --- a/changes/changelog.d/616.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed inconsistencies in subsonic error responses (#616) diff --git a/changes/changelog.d/617.bugfix b/changes/changelog.d/617.bugfix deleted file mode 100644 index c12ad82a78710820bc527f48f62d018cfccac7c7..0000000000000000000000000000000000000000 --- a/changes/changelog.d/617.bugfix +++ /dev/null @@ -1 +0,0 @@ -Invalid URI for reverse proxy websocket with apache (#617) diff --git a/changes/changelog.d/621.bugfix b/changes/changelog.d/621.bugfix deleted file mode 100644 index cd15865ec027a701a8a0be5fe93574676c1a565d..0000000000000000000000000000000000000000 --- a/changes/changelog.d/621.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed None extension when downloading an in-place imported file (#621) diff --git a/changes/changelog.d/622.enhancement b/changes/changelog.d/622.enhancement deleted file mode 100644 index dafebf44f9ce02fb7ae6d90d76f6943383ef8246..0000000000000000000000000000000000000000 --- a/changes/changelog.d/622.enhancement +++ /dev/null @@ -1,2 +0,0 @@ -More resilient date parsing during audio import, will not crash anymore on -invalid dates (#622) diff --git a/changes/changelog.d/626.enhancement b/changes/changelog.d/626.enhancement deleted file mode 100644 index cacf4f81ab4685f210f2e81967b02b40fcf4a0f0..0000000000000000000000000000000000000000 --- a/changes/changelog.d/626.enhancement +++ /dev/null @@ -1 +0,0 @@ -Load env file in config/.env automatically to avoid sourcing it by hand (#626) diff --git a/changes/changelog.d/631.enhacement b/changes/changelog.d/631.enhacement deleted file mode 100644 index faafd8c2a8cc4445cfec615208f065f93ed83a8b..0000000000000000000000000000000000000000 --- a/changes/changelog.d/631.enhacement +++ /dev/null @@ -1 +0,0 @@ -Add UI elements for multi-disc albums (#631) diff --git a/changes/changelog.d/632.bugfix b/changes/changelog.d/632.bugfix deleted file mode 100644 index 1647a04d066c6da32914903a2267e9bffe6e3724..0000000000000000000000000000000000000000 --- a/changes/changelog.d/632.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix play button not starting playback with empty queue (#632) diff --git a/changes/changelog.d/637.bugfix b/changes/changelog.d/637.bugfix deleted file mode 100644 index 19764e419848dcee45127fcf504ef717d0f64297..0000000000000000000000000000000000000000 --- a/changes/changelog.d/637.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed greyed tracks in radio builder and detail page (#637) diff --git a/changes/changelog.d/640.enhancement b/changes/changelog.d/640.enhancement deleted file mode 100644 index cfff3e12ce72b018f32aa364d913e6f2f3c0f487..0000000000000000000000000000000000000000 --- a/changes/changelog.d/640.enhancement +++ /dev/null @@ -1,2 +0,0 @@ -Officially support connecting to a password protected redis server, with -the redis://:password@localhost:6379/0 scheme (#640) diff --git a/changes/changelog.d/642.documentation b/changes/changelog.d/642.documentation deleted file mode 100644 index e93dca7b16650cb6b3e4717e1dc0bbbf642756a2..0000000000000000000000000000000000000000 --- a/changes/changelog.d/642.documentation +++ /dev/null @@ -1 +0,0 @@ -Deploy documentation from the master branch instead of the develop branch to avoid inconsistencies (#642) diff --git a/changes/changelog.d/643.bugfix b/changes/changelog.d/643.bugfix deleted file mode 100644 index cafe070e82b7c0ec980275f97e0e273ab032066c..0000000000000000000000000000000000000000 --- a/changes/changelog.d/643.bugfix +++ /dev/null @@ -1 +0,0 @@ -Upgraded core dependencies to fix websocket/messaging issues and possible memory leaks (#643) diff --git a/changes/changelog.d/644.bugfix b/changes/changelog.d/644.bugfix deleted file mode 100644 index 79844014742b2370f210df89d8d4eab63f1fdf21..0000000000000000000000000000000000000000 --- a/changes/changelog.d/644.bugfix +++ /dev/null @@ -1 +0,0 @@ -Initial UI render using correct language from browser (#644) diff --git a/changes/changelog.d/645.doc b/changes/changelog.d/645.doc deleted file mode 100644 index 1fec864df9842e51c89c19bff89d765f9f91c804..0000000000000000000000000000000000000000 --- a/changes/changelog.d/645.doc +++ /dev/null @@ -1 +0,0 @@ -Fix documentation typos (#645) diff --git a/changes/changelog.d/647.bugfix b/changes/changelog.d/647.bugfix deleted file mode 100644 index 43b01e6fcaeec6bf71fad1d42746d84e2f84eb59..0000000000000000000000000000000000000000 --- a/changes/changelog.d/647.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed a UI discrepency in playlist tracks count (#647) diff --git a/changes/changelog.d/648.enhancement b/changes/changelog.d/648.enhancement deleted file mode 100644 index acf1fd28574cc81019fcef16e915481cfe3af6d6..0000000000000000000000000000000000000000 --- a/changes/changelog.d/648.enhancement +++ /dev/null @@ -1 +0,0 @@ -Improved test suite speed by reducing / disabling expensive operations (#648) diff --git a/changes/changelog.d/650.enhancement b/changes/changelog.d/650.enhancement deleted file mode 100644 index c7fb6460095ecb899214c3fe98e844bc824ca6ae..0000000000000000000000000000000000000000 --- a/changes/changelog.d/650.enhancement +++ /dev/null @@ -1 +0,0 @@ -Support setting a server URL in settings.json (#650) diff --git a/changes/changelog.d/654.enhancement b/changes/changelog.d/654.enhancement deleted file mode 100644 index 614acf1f75f5dbaf9623e785f90cd983d1d421e0..0000000000000000000000000000000000000000 --- a/changes/changelog.d/654.enhancement +++ /dev/null @@ -1 +0,0 @@ -Increased default upload limit from 30 to 100MB (#654) diff --git a/changes/changelog.d/656.enhancement b/changes/changelog.d/656.enhancement deleted file mode 100644 index 62b50b3747d402ea67ee7d062b2c36730a597cda..0000000000000000000000000000000000000000 --- a/changes/changelog.d/656.enhancement +++ /dev/null @@ -1 +0,0 @@ -Updated default docker postgres version from 9.4 to 11 (#656) diff --git a/changes/changelog.d/657.enhancement b/changes/changelog.d/657.enhancement deleted file mode 100644 index 7620ef02bcd0efb03c9c1b7ea9e75305f12d222d..0000000000000000000000000000000000000000 --- a/changes/changelog.d/657.enhancement +++ /dev/null @@ -1 +0,0 @@ -Updated rots of dependencies (especially django 2.0->2.1), and removed unused dependencies (#657) diff --git a/changes/changelog.d/658.enhancement b/changes/changelog.d/658.enhancement deleted file mode 100644 index 4b31d84039b51cada273917fe2c8ac69f4aeae0f..0000000000000000000000000000000000000000 --- a/changes/changelog.d/658.enhancement +++ /dev/null @@ -1 +0,0 @@ -Support blind key rotation in HTTP Signatures (#658) diff --git a/changes/changelog.d/659.bugfix b/changes/changelog.d/659.bugfix deleted file mode 100644 index 8e86cdc66bcba537a1c9425fd8c8de9e09b76b8f..0000000000000000000000000000000000000000 --- a/changes/changelog.d/659.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed a styling inconsistency on about page when instance description was missing (#659) diff --git a/changes/changelog.d/663.bugfix b/changes/changelog.d/663.bugfix deleted file mode 100644 index fb88800b84f53d71fb3f4ac557818eb2831840fa..0000000000000000000000000000000000000000 --- a/changes/changelog.d/663.bugfix +++ /dev/null @@ -1 +0,0 @@ -Do not try to create unaccent extension if it's already present (#663) diff --git a/changes/changelog.d/allowed-hosts.enhancement b/changes/changelog.d/allowed-hosts.enhancement deleted file mode 100644 index bd52e25ff0a260edd5bbcad86a70d8f05509884f..0000000000000000000000000000000000000000 --- a/changes/changelog.d/allowed-hosts.enhancement +++ /dev/null @@ -1 +0,0 @@ -Removed the need to specify the DJANGO_ALLOWED_HOSTS variable diff --git a/changes/changelog.d/alpine.enhancement b/changes/changelog.d/alpine.enhancement deleted file mode 100644 index a7744a87abca7e59a60d8437ca498ecada9bc76a..0000000000000000000000000000000000000000 --- a/changes/changelog.d/alpine.enhancement +++ /dev/null @@ -1 +0,0 @@ -Based Docker image on alpine to have a smaller (and faster to build) image diff --git a/changes/changelog.d/cover-other-mp3.enhancement b/changes/changelog.d/cover-other-mp3.enhancement deleted file mode 100644 index 937a96c7b8706753cf56d9ec27ddab28cec4982d..0000000000000000000000000000000000000000 --- a/changes/changelog.d/cover-other-mp3.enhancement +++ /dev/null @@ -1 +0,0 @@ -Importer will now pick embedded images in files with OTHER type if no COVER_FRONT is present diff --git a/changes/changelog.d/db-query-optimization.enhancement b/changes/changelog.d/db-query-optimization.enhancement deleted file mode 100644 index c12bb6bfcd5757686e3e0f0ea66ba19bb27d4075..0000000000000000000000000000000000000000 --- a/changes/changelog.d/db-query-optimization.enhancement +++ /dev/null @@ -1 +0,0 @@ -Improved performance when listing playable tracks, albums and artists diff --git a/changes/changelog.d/favorites-performance.enhancement b/changes/changelog.d/favorites-performance.enhancement deleted file mode 100644 index c35828fc2b809a03aa89c84650b8abec675a8fc5..0000000000000000000000000000000000000000 --- a/changes/changelog.d/favorites-performance.enhancement +++ /dev/null @@ -1 +0,0 @@ -Performance improvement when fetching favorites, down to a single, small http request diff --git a/changes/changelog.d/footer.enhancement b/changes/changelog.d/footer.enhancement deleted file mode 100644 index e1a83191859192cc897d05212d74ab636b48d2b4..0000000000000000000000000000000000000000 --- a/changes/changelog.d/footer.enhancement +++ /dev/null @@ -1 +0,0 @@ -Restructured the footer, added useful links and removed unused content diff --git a/changes/changelog.d/front-performance.enhancement b/changes/changelog.d/front-performance.enhancement deleted file mode 100644 index f3105932fe3251ba617bcfeecdae846e99441fe5..0000000000000000000000000000000000000000 --- a/changes/changelog.d/front-performance.enhancement +++ /dev/null @@ -1,2 +0,0 @@ -Improved front-end performance by stripping unused dependencies, reducing bundle size -and enabling gzip compression diff --git a/changes/changelog.d/library-update-federation.enhancement b/changes/changelog.d/library-update-federation.enhancement deleted file mode 100644 index 4c777ad99eb724487941fde097b34df0383d8c1d..0000000000000000000000000000000000000000 --- a/changes/changelog.d/library-update-federation.enhancement +++ /dev/null @@ -1 +0,0 @@ -Broadcast library updates (name, description, visibility) over federation diff --git a/changes/changelog.d/moderation-tools.feature b/changes/changelog.d/moderation-tools.feature deleted file mode 100644 index acc10726e9cff662e31d744a52e8604d390c12e5..0000000000000000000000000000000000000000 --- a/changes/changelog.d/moderation-tools.feature +++ /dev/null @@ -1,2 +0,0 @@ - -First set of instance level moderation tools (#580, !521) diff --git a/changes/changelog.d/searchorder.enhancement b/changes/changelog.d/searchorder.enhancement deleted file mode 100644 index b180006a36d59e8141d5c0dfe7558f21e28135fb..0000000000000000000000000000000000000000 --- a/changes/changelog.d/searchorder.enhancement +++ /dev/null @@ -1 +0,0 @@ -Show short entries first in search results to improve UX diff --git a/changes/notes.rst b/changes/notes.rst index 70b4df4526ba481446a18c4d39035d141cc8a455..96ac3d7651f92166072a2fb200c0dd57606851e3 100644 --- a/changes/notes.rst +++ b/changes/notes.rst @@ -5,195 +5,3 @@ Next release notes Those release notes refer to the current development branch and are reset after each release. - -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. - - -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. - -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. - - - -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 - } - -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!