From c0cbda9451282ec8823b8dab45d27c17a0b10df9 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Thu, 9 Apr 2020 09:56:46 +0200 Subject: [PATCH] Version bump and changelog for 0.21 --- CHANGELOG | 258 ++++++++++++++++++ CONTRIBUTING.rst | 45 +++ api/funkwhale_api/__init__.py | 2 +- changes/changelog.d/1004.bugfix | 1 - changes/changelog.d/1006.bugfix | 1 - changes/changelog.d/1012.enhancement | 1 - changes/changelog.d/1013.enhancement | 1 - changes/changelog.d/1036.enhancement | 1 - changes/changelog.d/1037.bugfix | 1 - changes/changelog.d/1038.feature | 1 - changes/changelog.d/1039.feature | 1 - changes/changelog.d/1040.feature | 1 - changes/changelog.d/1041.enhancement | 1 - changes/changelog.d/1042.bugfix | 1 - changes/changelog.d/1060.feature | 1 - changes/changelog.d/170.feature | 1 - changes/changelog.d/340.bugfix | 1 - changes/changelog.d/348.bugfix | 1 - changes/changelog.d/391.enhancement | 1 - changes/changelog.d/588.enhancement | 1 - changes/changelog.d/594.feature | 1 - changes/changelog.d/680.bugfix | 1 - changes/changelog.d/775.enhancement | 1 - changes/changelog.d/859.enhancement | 1 - changes/changelog.d/923.enhancement | 1 - changes/changelog.d/926.feature | 1 - changes/changelog.d/943.bugfix | 1 - changes/changelog.d/948.bugfix | 1 - changes/changelog.d/959.enhancement | 1 - changes/changelog.d/960.bugfix | 1 - changes/changelog.d/961.bugfix | 1 - changes/changelog.d/966.bugfix | 1 - changes/changelog.d/970.bugfix | 1 - changes/changelog.d/974.enhancement | 1 - changes/changelog.d/982.bugfix | 1 - changes/changelog.d/986.bugfix | 1 - changes/changelog.d/988.enhancement | 1 - changes/changelog.d/994.enhancement | 1 - changes/changelog.d/997.enhancement | 1 - .../docker-reduced-size.enhancement | 1 - changes/changelog.d/known-nodes.enhancement | 1 - changes/changelog.d/media-proxy.enhancement | 1 - changes/changelog.d/nodeinfo.enhancement | 1 - changes/changelog.d/radio.enhancement | 1 - changes/changelog.d/server-cli.feature | 1 - .../subsonic-throttling.enhancement | 1 - changes/notes.rst | 155 ----------- 47 files changed, 304 insertions(+), 199 deletions(-) delete mode 100644 changes/changelog.d/1004.bugfix delete mode 100644 changes/changelog.d/1006.bugfix delete mode 100644 changes/changelog.d/1012.enhancement delete mode 100644 changes/changelog.d/1013.enhancement delete mode 100644 changes/changelog.d/1036.enhancement delete mode 100644 changes/changelog.d/1037.bugfix delete mode 100644 changes/changelog.d/1038.feature delete mode 100644 changes/changelog.d/1039.feature delete mode 100644 changes/changelog.d/1040.feature delete mode 100644 changes/changelog.d/1041.enhancement delete mode 100644 changes/changelog.d/1042.bugfix delete mode 100644 changes/changelog.d/1060.feature delete mode 100644 changes/changelog.d/170.feature delete mode 100644 changes/changelog.d/340.bugfix delete mode 100644 changes/changelog.d/348.bugfix delete mode 100644 changes/changelog.d/391.enhancement delete mode 100644 changes/changelog.d/588.enhancement delete mode 100644 changes/changelog.d/594.feature delete mode 100644 changes/changelog.d/680.bugfix delete mode 100644 changes/changelog.d/775.enhancement delete mode 100644 changes/changelog.d/859.enhancement delete mode 100644 changes/changelog.d/923.enhancement delete mode 100644 changes/changelog.d/926.feature delete mode 100644 changes/changelog.d/943.bugfix delete mode 100644 changes/changelog.d/948.bugfix delete mode 100644 changes/changelog.d/959.enhancement delete mode 100644 changes/changelog.d/960.bugfix delete mode 100644 changes/changelog.d/961.bugfix delete mode 100644 changes/changelog.d/966.bugfix delete mode 100644 changes/changelog.d/970.bugfix delete mode 100644 changes/changelog.d/974.enhancement delete mode 100644 changes/changelog.d/982.bugfix delete mode 100644 changes/changelog.d/986.bugfix delete mode 100644 changes/changelog.d/988.enhancement delete mode 100644 changes/changelog.d/994.enhancement delete mode 100644 changes/changelog.d/997.enhancement delete mode 100644 changes/changelog.d/docker-reduced-size.enhancement delete mode 100644 changes/changelog.d/known-nodes.enhancement delete mode 100644 changes/changelog.d/media-proxy.enhancement delete mode 100644 changes/changelog.d/nodeinfo.enhancement delete mode 100644 changes/changelog.d/radio.enhancement delete mode 100644 changes/changelog.d/server-cli.feature delete mode 100644 changes/changelog.d/subsonic-throttling.enhancement diff --git a/CHANGELOG b/CHANGELOG index 18fccc4c71..51b1f46ace 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,264 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog. .. towncrier +0.21-rc1 (2020-04-09) +--------------------- + +Upgrade instructions are available at +https://docs.funkwhale.audio/index.html, there are also additional operations you need to execute, listed in the changelog below (search "Manual action"). + + +Channels and podcasts +^^^^^^^^^^^^^^^^^^^^^ + +Funkwhale 0.21 includes a brand new feature: Channels! + +Channels can be used as a replacement to public libraries, +to publish audio content, both musical and non-musical. They federate with other Funkwhale pods, but also other +fediverse software, in particular Mastodon, Pleroma, Friendica and Reel2Bits, meaning people can subscribe to your channel +from any of these software. To get started with publication, simply visit your profile and create a channel from there. + +Each Funkwhale channel also comes with RSS feed that is compatible with existing podcasting applications, like AntennaPod +on Android and, within Funkwhale, you can also subscribe to any podcast from its RSS feed! + +Many, many thanks to the numerous people who helped with the feature design, development and testing, and in particular +to the members of the working group who met every week for months in order to get this done, and the members of other third-party +projects who took the time to work with us to ensure compatibility. + +Redesigned navigation, player and queue +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This release includes a full redesign of our navigation, player and queue. Overall, it should provide +a better, less confusing experience, especially on mobile devices. This redesign was suggested +14 months ago, and took a while, but thanks to the involvement and feedback of many people, we got it done! + +Improved search bar for searching remote objects +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The search bar now support fetching arbitrary objects using a URL. In particular, you can use this to quickly: + +- Subscribe to a remote library via its URL +- Listen a public track from another pod +- Subscribe to a channel + +Screening for sign-ups and custom sign-up form +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Instance admins can now configure their pod so that registrations required manual approval from a moderator. This +is especially useful on private or semi-private pods where you don't want to close registrations completely, +but don't want spam or unwanted users to join your pod. + +When this is enabled and a new user register, their request is put in a moderation queue, and moderators +are notified by email. When the request is approved or refused, the user is also notified by email. + +In addition, it's also possible to customize the sign-up form by: + +- Providing a custom help text, in markdown format +- Including additional fields in the form, for instance to ask the user why they want to join. Data collected through these fields is included in the sign-up request and viewable by the mods + +Federated reports +^^^^^^^^^^^^^^^^^ + +It's now possible to send a copy of a report to the server hosting the reported object, in order to make moderation easier and more distributed. + +This feature is inspired by Mastodon's current design, and should work with at least Funkwhale and Mastodon servers. + +Improved search performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Our search engine went through a full rewrite to make it faster. This new engine is enabled +by default when using the search bar, or when searching for artists, albums and tracks. It leverages +PostgreSQL full-text search capabilities. + +During our tests, we observed huge performance improvements after the switch, by an order of +magnitude. This should be especially perceptible on pods with large databases, more modest hardware +or hard drives. + +We plan to remove the old engine in an upcoming release. In the meantime, if anything goes wrong, +you can switch back by setting ``USE_FULL_TEXT_SEARCH=false`` in your ``.env`` file. + +Enforced email verification +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The brand new ``ACCOUNT_EMAIL_VERIFICATION_ENFORCE`` setting can be used to make email verification +mandatory for your users. It defaults to ``false``, and doesn't apply to superuser accounts created through +the CLI. + +If you enable this, ensure you have a SMTP server configured too. + +User management through the server CLI +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We now support user creation (incl. non-admin accounts), update and removal directly +from the server CLI. Typical use cases include: + +- Changing a user password from the command line +- Creating or updating users from deployments scripts or playbooks +- Removing or granting permissions or upload quota to multiple users at once +- Marking multiple users as inactive + +All user-related commands are available under the ``python manage.py fw users`` namespace. +Please refer to the `Admin documentation <https://docs.funkwhale.audio/admin/commands.html#user-management>`_ for +more information and instructions. + +Progressive web app [Manual action suggested, non-docker only] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We've made Funkwhale's Web UI a Progressive Web Application (PWA), in order to improve the user experience +during offline use, and on mobile devices. + +In order to fully benefit from this change, if your pod isn't deployed using Docker, ensure +the following instruction is present in your nginx configuration:: + + location /front/ { + # Add the following line in the /front/ location + add_header Service-Worker-Allowed "/"; + } + +Postgres docker changed environment variable [manual action required, docker multi-container only] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you're running with docker and our multi-container setup, there was a breaking change starting in the 11.7 postgres image (https://github.com/docker-library/postgres/pull/658) + +You need to add this to your .env file: ``POSTGRES_HOST_AUTH_METHOD=trust`` + +Newer deployments aren't affected. + +Upgrade from Postgres 10 to 11 [manual action required, docker all-in-one only] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +With our upgrade to Alpine 3.10, the ``funkwhale/all-in-one`` image now includes PostgreSQL 11. + +In order to update to Funkwhale 0.21, you will first need to uprade Funkwhale's PostgreSQL database, following the steps below:: + + # open a shell as the Funkwhale user + sudo -u funkwhale -H bash + + # move to the funkwhale data directory + # (replace this with your own if you used a different path) + cd /srv/funkwhale/data + + # stop the funkwhale container + docker stop funkwhale + + # backup the database files + cp -r data/ ../postgres.bak + + # Upgrade the database + docker run --rm \ + -v $(pwd)/data:/var/lib/postgresql/10/data \ + -v $(pwd)/upgraded-postgresql:/var/lib/postgresql/11/data \ + -e PGUSER=funkwhale \ + -e POSTGRES_INITDB_ARGS="-U funkwhale --locale C --encoding UTF8" \ + tianon/postgres-upgrade:10-to-11 + + # replace the Postgres 10 files with Postgres 11 files + mv data/ postgres-10 + mv upgraded-postgresql/ data + +Once you have completed the Funkwhale upgrade with our regular instructions and everything works properly, +you can remove the backups/old files:: + + sudo -u funkwhale -H bash + cd /srv/funkwhale/data + rm -rf ../postgres.bak + rm -rf postgres-10 + + +Features: + +- Support for publishing and subscribing to podcasts (#170) +- Brand new navigation, queue and player redesign (#594) +- Can now browse a library content through the UI (#926) +- Federated reports (#1038) +- Screening for sign-ups (#1040) +- Make it possible to enforce email verification (#1039) +- Added a new radio based on another user listenings (#1060) +- User management through the server CLI + + +Enhancements: + +- Added ability to reject library follows from notifications screen (#859) +- Added periodic background task and CLI command to associate genre tags to artists and albums based on identical tags found on corresponding tracks (#988) +- Added support for CELERYD_CONCURRENCY env var to control the number of worker processes (#997) +- Added the ability to sort albums by release date (#1013) +- Added two new radios to play your own content or a given library tracks +- Advertise list of known nodes on /api/v1/federation/domains and in nodeinfo if stats sharing is enabled +- Changed footer to use instance name if available, and append ellipses if instance URL/Name is too long (#1012) +- Favor local uploads when playing a track with multiple uploads (#1036) +- Include only local content in nodeinfo stats, added downloads count +- Make media and static files serving more reliable when reverse proxy X_FORWARDED_* headers are incorrect (#947) +- Order the playlist columns by modification date in the Browse tab (#775) +- Reduced size of funkwhale/funkwhale docker images thanks to multi-stage builds (!1042) +- Remember display settings in Album, Artist, Radio and Playlist views (#391) +- Removed unnecessary "Federation music needs approval" setting (#959) +- Replaced our slow research logic by PostgreSQL full-text search (#994) +- Support autoplay when loading embed frame from Mastodon and third-party websites (#1041) +- Support filtering playlist by name and several additional UX improvements in playlists modal (#974) +- Support modifying album cover art through the web UI (#588) +- Use a dedicated scope for throttling subsonic to avoid intrusive rate-limiting +- Use same markdown widget for all content fields (rules, description, reports, notes, etc.) + + +Bugfixes: + +- Added missing manuallyApprovesFollowers entry in JSON-LD contexts (#961) +- Fix issue with browser shortcuts such as search and focus URL not being recognised (#340, #985) +- Fixed admin dropdown not showing after login (#1042) +- Fixed an issue with celerybeat container failing to restart (#1004) +- Fixed invalid displayed number of tracks in playlist (#986) +- Fixed issue with recent results not being loaded from the API (#948) +- Fixed issue with sorting by album name not working (#960) +- Fixed short audio glitch when switching switching to another track with player paused (#970) +- Improved deduplication logic to prevent skipped files during import (#348, #474, #557, #740, #928) +- More resilient tag parsing with empty release date or album artist (#1037) +- More robust importer against malformed dates (#966) +- Removed "nodeinfo disabled" setting, as nodeinfo is required for the UI to work (#982) +- Replaced PDF icon by List icon in playlist placeholder (#943) +- Resolve an issue where disc numbers were not taken into consideration when playing an album from the album card (#1006) +- Set correct size for album covers in playlist cards (#680) + +Contributors to this release (translation, development, documentation, reviews, design, testing, third-party projects): + +- annando +- Anton Strömkvist +- Audrey +- ButterflyOfFire +- Ciarán Ainsworth +- dashie +- Eliot Berriot +- Eloisa +- eorn +- Francesc Galà +- GinnyMcQueen +- guillermau +- Haelwenn +- jinxx +- Jonathan Aylard +- Keunes +- M.G +- marzzzello +- Mathé Grievink +- Mélanie Chauvel +- Mjourdan +- Morgan Kesler +- Noureddine HADDAG +- Noe Gaumont +- Ollie +- Peter Wickenberg +- Renon +- Satsuki Yanagi +- Shlee +- techknowlogick +- ThibG +- Tony Wasserka +- unklebonehead +- wakest +- wxcafé +- Xosé M + + 0.20.1 (2019-10-28) ------------------- diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 583f30d929..fe081b97c4 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -721,3 +721,48 @@ The latter is especially useful when you are debugging failing tests. .. note:: The front-end test suite coverage is still pretty low + + +Making a release +---------------- + +To make a new 3.4 release:: + + # setup + export NEXT_RELEASE=3.4 # replace with the next release number + export PREVIOUS_RELEASE=3.3 # replace with the previous release number + + # ensure you have an up-to-date repo + git checkout develop # use master if you're doing a hotfix release + git pull + + # compile changelog + towncrier --version $NEXT_RELEASE --yes + + # polish changelog + # - update the date + # - look for typos + # - add list of contributors via `python3 scripts/get-contributions-stats.py develop $PREVIOUS_RELEASE` + nano CHANGELOG + + # Set the `__version__` variable to $NEXT_RELEASE + nano nano api/funkwhale_api/__init__.py + + # commit + git add . + git commit -m "Version bump and changelog for $NEXT_RELEASE" + + # tag + git tag $NEXT_RELEASE + + # publish + git push --tags && git push + + # if you're doing a hotfix release from master + git checkout develop && git merge master && git push + + # if you're doing a non-hotfix release, and a real release (not a real release) from develop + git checkout master && git merge develop && git push + +Then, visit https://dev.funkwhale.audio/funkwhale/funkwhale/-/tags, copy-paste the changelog on the corresponding +tag, and announce the good news ;) diff --git a/api/funkwhale_api/__init__.py b/api/funkwhale_api/__init__.py index 601359964b..c46d17733d 100644 --- a/api/funkwhale_api/__init__.py +++ b/api/funkwhale_api/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -__version__ = "0.20.1" +__version__ = "0.21-rc1" __version_info__ = tuple( [ int(num) if num.isdigit() else num diff --git a/changes/changelog.d/1004.bugfix b/changes/changelog.d/1004.bugfix deleted file mode 100644 index 5c99a3e1f8..0000000000 --- a/changes/changelog.d/1004.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed an issue with celerybeat container failing to restart (#1004) \ No newline at end of file diff --git a/changes/changelog.d/1006.bugfix b/changes/changelog.d/1006.bugfix deleted file mode 100644 index 57e3b1269a..0000000000 --- a/changes/changelog.d/1006.bugfix +++ /dev/null @@ -1 +0,0 @@ -Resolve an issue where disc numbers were not taken into consideration when playing an album from the album card (#1006) \ No newline at end of file diff --git a/changes/changelog.d/1012.enhancement b/changes/changelog.d/1012.enhancement deleted file mode 100644 index ae47d6dc64..0000000000 --- a/changes/changelog.d/1012.enhancement +++ /dev/null @@ -1 +0,0 @@ -Changed footer to use instance name if available, and append ellipses if instance URL/Name is too long (#1012) \ No newline at end of file diff --git a/changes/changelog.d/1013.enhancement b/changes/changelog.d/1013.enhancement deleted file mode 100644 index e8e7894954..0000000000 --- a/changes/changelog.d/1013.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added the ability to sort albums by release date (#1013) \ No newline at end of file diff --git a/changes/changelog.d/1036.enhancement b/changes/changelog.d/1036.enhancement deleted file mode 100644 index d876cfd605..0000000000 --- a/changes/changelog.d/1036.enhancement +++ /dev/null @@ -1 +0,0 @@ -Favor local uploads when playing a track with multiple uploads (#1036) diff --git a/changes/changelog.d/1037.bugfix b/changes/changelog.d/1037.bugfix deleted file mode 100644 index 38771e171c..0000000000 --- a/changes/changelog.d/1037.bugfix +++ /dev/null @@ -1 +0,0 @@ -More resilient tag parsing with empty release date or album artist (#1037) diff --git a/changes/changelog.d/1038.feature b/changes/changelog.d/1038.feature deleted file mode 100644 index 1e6913ab3c..0000000000 --- a/changes/changelog.d/1038.feature +++ /dev/null @@ -1 +0,0 @@ -Federated reports (#1038) diff --git a/changes/changelog.d/1039.feature b/changes/changelog.d/1039.feature deleted file mode 100644 index bc1fee4fca..0000000000 --- a/changes/changelog.d/1039.feature +++ /dev/null @@ -1 +0,0 @@ -Make it possible to enforce email verification (#1039) diff --git a/changes/changelog.d/1040.feature b/changes/changelog.d/1040.feature deleted file mode 100644 index ec905688bd..0000000000 --- a/changes/changelog.d/1040.feature +++ /dev/null @@ -1 +0,0 @@ -Screening for sign-ups (#1040) diff --git a/changes/changelog.d/1041.enhancement b/changes/changelog.d/1041.enhancement deleted file mode 100644 index 6c608c160c..0000000000 --- a/changes/changelog.d/1041.enhancement +++ /dev/null @@ -1 +0,0 @@ -Support autoplay when loading embed frame from Mastodon and third-party websites (#1041) diff --git a/changes/changelog.d/1042.bugfix b/changes/changelog.d/1042.bugfix deleted file mode 100644 index 24be4bbb21..0000000000 --- a/changes/changelog.d/1042.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed admin dropdown not showing after login (#1042) diff --git a/changes/changelog.d/1060.feature b/changes/changelog.d/1060.feature deleted file mode 100644 index 245a6be0ce..0000000000 --- a/changes/changelog.d/1060.feature +++ /dev/null @@ -1 +0,0 @@ -Added a new radio based on another user listenings (#1060) diff --git a/changes/changelog.d/170.feature b/changes/changelog.d/170.feature deleted file mode 100644 index 1efe171164..0000000000 --- a/changes/changelog.d/170.feature +++ /dev/null @@ -1 +0,0 @@ -Support for publishing and subscribing to podcasts (#170) diff --git a/changes/changelog.d/340.bugfix b/changes/changelog.d/340.bugfix deleted file mode 100644 index eb6cdddbe4..0000000000 --- a/changes/changelog.d/340.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix issue with browser shortcuts such as search and focus URL not being recognised (#340, #985) \ No newline at end of file diff --git a/changes/changelog.d/348.bugfix b/changes/changelog.d/348.bugfix deleted file mode 100644 index 10c04b9821..0000000000 --- a/changes/changelog.d/348.bugfix +++ /dev/null @@ -1 +0,0 @@ -Improved deduplication logic to prevent skipped files during import (#348, #474, #557, #740, #928) diff --git a/changes/changelog.d/391.enhancement b/changes/changelog.d/391.enhancement deleted file mode 100644 index 28c19ecf3e..0000000000 --- a/changes/changelog.d/391.enhancement +++ /dev/null @@ -1 +0,0 @@ -Remember display settings in Album, Artist, Radio and Playlist views (#391) diff --git a/changes/changelog.d/588.enhancement b/changes/changelog.d/588.enhancement deleted file mode 100644 index 1ce18953de..0000000000 --- a/changes/changelog.d/588.enhancement +++ /dev/null @@ -1 +0,0 @@ -Support modifying album cover art through the web UI (#588) diff --git a/changes/changelog.d/594.feature b/changes/changelog.d/594.feature deleted file mode 100644 index 3ab7ccdd9a..0000000000 --- a/changes/changelog.d/594.feature +++ /dev/null @@ -1 +0,0 @@ -Brand new navigation, queue and player redesign (#594) diff --git a/changes/changelog.d/680.bugfix b/changes/changelog.d/680.bugfix deleted file mode 100644 index ebe4636ee9..0000000000 --- a/changes/changelog.d/680.bugfix +++ /dev/null @@ -1 +0,0 @@ -Set correct size for album covers in playlist cards (#680) diff --git a/changes/changelog.d/775.enhancement b/changes/changelog.d/775.enhancement deleted file mode 100644 index c63ebec933..0000000000 --- a/changes/changelog.d/775.enhancement +++ /dev/null @@ -1 +0,0 @@ -Order the playlist columns by modification date in the Browse tab (#775) diff --git a/changes/changelog.d/859.enhancement b/changes/changelog.d/859.enhancement deleted file mode 100644 index 91c16ddafd..0000000000 --- a/changes/changelog.d/859.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added ability to reject library follows from notifications screen (#859) \ No newline at end of file diff --git a/changes/changelog.d/923.enhancement b/changes/changelog.d/923.enhancement deleted file mode 100644 index 44b9d60e8f..0000000000 --- a/changes/changelog.d/923.enhancement +++ /dev/null @@ -1 +0,0 @@ -Use same markdown widget for all content fields (rules, description, reports, notes, etc.) diff --git a/changes/changelog.d/926.feature b/changes/changelog.d/926.feature deleted file mode 100644 index 00d3f70737..0000000000 --- a/changes/changelog.d/926.feature +++ /dev/null @@ -1 +0,0 @@ -Can now browse a library content through the UI (#926) diff --git a/changes/changelog.d/943.bugfix b/changes/changelog.d/943.bugfix deleted file mode 100644 index af5014203e..0000000000 --- a/changes/changelog.d/943.bugfix +++ /dev/null @@ -1 +0,0 @@ -Replaced PDF icon by List icon in playlist placeholder (#943) diff --git a/changes/changelog.d/948.bugfix b/changes/changelog.d/948.bugfix deleted file mode 100644 index f9deef2f84..0000000000 --- a/changes/changelog.d/948.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed issue with recent results not being loaded from the API (#948) \ No newline at end of file diff --git a/changes/changelog.d/959.enhancement b/changes/changelog.d/959.enhancement deleted file mode 100644 index 8dc027208d..0000000000 --- a/changes/changelog.d/959.enhancement +++ /dev/null @@ -1 +0,0 @@ -Removed unnecessary "Federation music needs approval" setting (#959) \ No newline at end of file diff --git a/changes/changelog.d/960.bugfix b/changes/changelog.d/960.bugfix deleted file mode 100644 index a3082e85d3..0000000000 --- a/changes/changelog.d/960.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed issue with sorting by album name not working (#960) \ No newline at end of file diff --git a/changes/changelog.d/961.bugfix b/changes/changelog.d/961.bugfix deleted file mode 100644 index b2813ff316..0000000000 --- a/changes/changelog.d/961.bugfix +++ /dev/null @@ -1 +0,0 @@ - Added missing manuallyApprovesFollowers entry in JSON-LD contexts (#961) diff --git a/changes/changelog.d/966.bugfix b/changes/changelog.d/966.bugfix deleted file mode 100644 index c3718fcb6c..0000000000 --- a/changes/changelog.d/966.bugfix +++ /dev/null @@ -1 +0,0 @@ -More robust importer against malformed dates (#966) diff --git a/changes/changelog.d/970.bugfix b/changes/changelog.d/970.bugfix deleted file mode 100644 index 400e54f74c..0000000000 --- a/changes/changelog.d/970.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed short audio glitch when switching switching to another track with player paused (#970) diff --git a/changes/changelog.d/974.enhancement b/changes/changelog.d/974.enhancement deleted file mode 100644 index 0d59fbd0a2..0000000000 --- a/changes/changelog.d/974.enhancement +++ /dev/null @@ -1 +0,0 @@ -Support filtering playlist by name and several additional UX improvements in playlists modal (#974) diff --git a/changes/changelog.d/982.bugfix b/changes/changelog.d/982.bugfix deleted file mode 100644 index 1e0252c3f1..0000000000 --- a/changes/changelog.d/982.bugfix +++ /dev/null @@ -1 +0,0 @@ -Removed "nodeinfo disabled" setting, as nodeinfo is required for the UI to work (#982) diff --git a/changes/changelog.d/986.bugfix b/changes/changelog.d/986.bugfix deleted file mode 100644 index b18d8ec8d9..0000000000 --- a/changes/changelog.d/986.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed invalid displayed number of tracks in playlist (#986) diff --git a/changes/changelog.d/988.enhancement b/changes/changelog.d/988.enhancement deleted file mode 100644 index 087fc66d35..0000000000 --- a/changes/changelog.d/988.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added periodic background task and CLI command to associate genre tags to artists and albums based on identical tags found on corresponding tracks (#988) diff --git a/changes/changelog.d/994.enhancement b/changes/changelog.d/994.enhancement deleted file mode 100644 index d4c467c39d..0000000000 --- a/changes/changelog.d/994.enhancement +++ /dev/null @@ -1 +0,0 @@ -Replaced our slow research logic by PostgreSQL full-text search (#994) diff --git a/changes/changelog.d/997.enhancement b/changes/changelog.d/997.enhancement deleted file mode 100644 index 2fdb7d78b7..0000000000 --- a/changes/changelog.d/997.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added support for CELERYD_CONCURRENCY env var to control the number of worker processes (#997) diff --git a/changes/changelog.d/docker-reduced-size.enhancement b/changes/changelog.d/docker-reduced-size.enhancement deleted file mode 100644 index 1565d94ee8..0000000000 --- a/changes/changelog.d/docker-reduced-size.enhancement +++ /dev/null @@ -1 +0,0 @@ -Reduced size of funkwhale/funkwhale docker images thanks to multi-stage builds (!1042) diff --git a/changes/changelog.d/known-nodes.enhancement b/changes/changelog.d/known-nodes.enhancement deleted file mode 100644 index 00497de4a9..0000000000 --- a/changes/changelog.d/known-nodes.enhancement +++ /dev/null @@ -1 +0,0 @@ -Advertise list of known nodes on /api/v1/federation/domains and in nodeinfo if stats sharing is enabled diff --git a/changes/changelog.d/media-proxy.enhancement b/changes/changelog.d/media-proxy.enhancement deleted file mode 100644 index e9fae2b5ea..0000000000 --- a/changes/changelog.d/media-proxy.enhancement +++ /dev/null @@ -1 +0,0 @@ -Make media and static files serving more reliable when reverse proxy X_FORWARDED_* headers are incorrect (#947) diff --git a/changes/changelog.d/nodeinfo.enhancement b/changes/changelog.d/nodeinfo.enhancement deleted file mode 100644 index 3b9daa4873..0000000000 --- a/changes/changelog.d/nodeinfo.enhancement +++ /dev/null @@ -1 +0,0 @@ -Include only local content in nodeinfo stats, added downloads count diff --git a/changes/changelog.d/radio.enhancement b/changes/changelog.d/radio.enhancement deleted file mode 100644 index a46a9cd92b..0000000000 --- a/changes/changelog.d/radio.enhancement +++ /dev/null @@ -1 +0,0 @@ -Added two new radios to play your own content or a given library tracks diff --git a/changes/changelog.d/server-cli.feature b/changes/changelog.d/server-cli.feature deleted file mode 100644 index 11eb9ec252..0000000000 --- a/changes/changelog.d/server-cli.feature +++ /dev/null @@ -1 +0,0 @@ -User management through the server CLI diff --git a/changes/changelog.d/subsonic-throttling.enhancement b/changes/changelog.d/subsonic-throttling.enhancement deleted file mode 100644 index aad8623408..0000000000 --- a/changes/changelog.d/subsonic-throttling.enhancement +++ /dev/null @@ -1 +0,0 @@ -Use a dedicated scope for throttling subsonic to avoid intrusive rate-limiting diff --git a/changes/notes.rst b/changes/notes.rst index 7ceab7338f..96ac3d7651 100644 --- a/changes/notes.rst +++ b/changes/notes.rst @@ -5,158 +5,3 @@ Next release notes Those release notes refer to the current development branch and are reset after each release. - -Channels and podcasts -^^^^^^^^^^^^^^^^^^^^^ - -Funkwhale 0.21 includes a brand new feature: Channels! - -Channels can be used as a replacement to public libraries, -to publish audio content, both musical and non-musical. They federate with other Funkwhale pods, but also other -fediverse software, in particular Mastodon, Pleroma, Friendica and Reel2Bits, meaning people can subscribe to your channel -from any of these software. To get started with publication, simply visit your profile and create a channel from there. - -Each Funkwhale channel also comes with RSS feed that is compatible with existing podcasting applications, like AntennaPod -on Android and, within Funkwhale, you can also subscribe to any podcast from its RSS feed! - -Many, many thanks to the numerous people who helped with the feature design, development and testing, and in particular -to the members of the working group who met every week for months in order to get this done. - -Redesigned navigation, player and queue -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This release includes a full redesign of our navigation, player and queue. Overall, it should provide -a better, less confusing experience, especially on mobile devices. This redesign was suggested -14 months ago, and took a while, but thanks to the involvement and feedback of many people, we got it done! - -Improved search bar for searching remote objects -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The search bar now support fetching arbitrary objects using a URL. In particular, you can use this to quickly: - -- Subscribe to a remote library via its URL -- Listen a public track from another pod -- Subscribe to a channel - -Screening for sign-ups and custom sign-up form -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Instance admins can now configure their pod so that registrations required manual approval from a moderator. This -is especially useful on private or semi-private pods where you don't want to close registrations completely, -but don't want spam or unwanted users to join your pod. - -When this is enabled and a new user register, their request is put in a moderation queue, and moderators -are notified by email. When the request is approved or refused, the user is also notified by email. - -In addition, it's also possible to customize the sign-up form by: - -- Providing a custom help text, in markdown format -- Including additional fields in the form, for instance to ask the user why they want to join. Data collected through these fields is included in the sign-up request and viewable by the mods - -Federated reports -^^^^^^^^^^^^^^^^^ - -It's now possible to send a copy of a report to the server hosting the reported object, in order to make moderation easier and more distributed. - -This feature is inspired by Mastodon's current design, and should work with at least Funkwhale and Mastodon servers. - -Improved search performance -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Our search engine went through a full rewrite to make it faster. This new engine is enabled -by default when using the search bar, or when searching for artists, albums and tracks. It leverages -PostgreSQL full-text search capabilities. - -During our tests, we observed huge performance improvements after the switch, by an order of -magnitude. This should be especially perceptible on pods with large databases, more modest hardware -or hard drives. - -We plan to remove the old engine in an upcoming release. In the meantime, if anything goes wrong, -you can switch back by setting ``USE_FULL_TEXT_SEARCH=false`` in your ``.env`` file. - -Enforced email verification -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The brand new ``ACCOUNT_EMAIL_VERIFICATION_ENFORCE`` setting can be used to make email verification -mandatory for your users. It defaults to ``false``, and doesn't apply to superuser accounts created through -the CLI. - -If you enable this, ensure you have a SMTP server configured too. - -User management through the server CLI -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -We now support user creation (incl. non-admin accounts), update and removal directly -from the server CLI. Typical use cases include: - -- Changing a user password from the command line -- Creating or updating users from deployments scripts or playbooks -- Removing or granting permissions or upload quota to multiple users at once -- Marking multiple users as inactive - -All user-related commands are available under the ``python manage.py fw users`` namespace. -Please refer to the `Admin documentation <https://docs.funkwhale.audio/admin/commands.html#user-management>`_ for -more information and instructions. - -Progressive web app [Manual change suggested, non-docker only] -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -We've made Funkwhale's Web UI a Progressive Web Application (PWA), in order to improve the user experience -during offline use, and on mobile devices. - -In order to fully benefit from this change, if your pod isn't deployed using Docker, ensure -the following instruction is present in your nginx configuration:: - - location /front/ { - # Add the following line in the /front/ location - add_header Service-Worker-Allowed "/"; - } - -Postgres docker changed environment variable [manual action required, docker multi-container only] -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -If you're running with docker and our multi-container setup, there was a breaking change starting in the 11.7 postgres image (https://github.com/docker-library/postgres/pull/658) - -You need to add this to your .env file: ``POSTGRES_HOST_AUTH_METHOD=trust`` - -Newer deployments aren't affected. - -Upgrade from Postgres 10 to 11 [manual action required, docker all-in-one only] -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -With our upgrade to Alpine 3.10, the ``funkwhale/all-in-one`` image now includes PostgreSQL 11. - -In order to update to Funkwhale 0.21, you will first need to uprade Funkwhale's PostgreSQL database, following the steps below:: - - # open a shell as the Funkwhale user - sudo -u funkwhale -H bash - - # move to the funkwhale data directory - # (replace this with your own if you used a different path) - cd /srv/funkwhale/data - - # stop the funkwhale container - docker stop funkwhale - - # backup the database files - cp -r data/ ../postgres.bak - - # Upgrade the database - docker run --rm \ - -v $(pwd)/data:/var/lib/postgresql/10/data \ - -v $(pwd)/upgraded-postgresql:/var/lib/postgresql/11/data \ - -e PGUSER=funkwhale \ - -e POSTGRES_INITDB_ARGS="-U funkwhale --locale C --encoding UTF8" \ - tianon/postgres-upgrade:10-to-11 - - # replace the Postgres 10 files with Postgres 11 files - mv data/ postgres-10 - mv upgraded-postgresql/ data - -Once you have completed the Funkwhale upgrade with our regular instructions and everything works properly, -you can remove the backups/old files:: - - sudo -u funkwhale -H bash - cd /srv/funkwhale/data - rm -rf ../postgres.bak - rm -rf postgres-10 -- GitLab