Funkwhale 2.0.0 release

Hello dear community 🐳

We are happy to announce that Funkwhale 2 release is out! This second version of Funkwhale brings significant changes and enhancements. However, to achieve this, we had to introduce breaking changes, including a brand-new API (version 2). This means your v2 pod will not be able to federate with v1 pods. 🚨

⚠️ Migration & Testing

There has been significant changes at the database level. There is a risk of data loss if the process gets interrupted, so make sure to backup your data.

  1. Stop celery worker The migration could take a long time depending on the size of your database (one hour or more). Make sure your Celery Worker finished all this tasks (mainly upload tasks) before starting the upgrade process. For that you can stop the other containers and have a look at the celery logs : docker stop $front_container_name $api_container_name ; docker compose -f docker-compose.yml logs celeryworker

  2. Make sure migration is not interrupted You should probably run the migration on a dedicated terminal session that will not break in case the ssh connexion gets interrupted. You can use screen for this purpose.

  3. Upgrade Once this is done you can follow the upgrade procedure here. Don't skip the database backup.

  4. Post upgrade steps Once you've finished generate new thumbnails with : docker compose run --rm api funkwhale-manage fw media generate-thumbnails or venv/bin/funkwhale-manage fw media generate-thumbnails

✨ New Features

A complete list of features will be in the changelog, but here are the most important ones:

  1. New responsive UI with both dark and light themes.
  2. Multiple artist support for compilations and featured tracks.
  3. Follow users to track their listening activity, favorites, and playlists.
  4. Listenbrainz integration to sync listenings and favorites.
  5. Admin option to allow only MusicBrainz-tagged files on an instance.
  6. Content quality filter.
  7. Libraries are replaced with playlists for a better user experience.

🚨 Breaking Changes

  1. New ArtistCredit object: Albums and tracks now support multiple artists.
  2. Libraries removed: They have been replaced with playlists. Existing libraries will be converted into playlists, and library follows will become playlist follows.
  3. Api v1 is dropped in favor of v2 which will not be as stable as v1, since we have various features still to implement. But the vast majority of endpoints should not change.

❗ Federation Impact

  • Your v2 pod will NOT federate with v1 pods.
  • Please report bugs or submit fixes via merge requests!

This update completely changes the Funkwhale user experience. We hope you will enjoy it. Thanks to NLnet for their funding support, which made this possible! 🎉

By @Petitminion in Release