Funkwhale 1.3.0 release

Hi everyone ๐Ÿณ

After over a year of hard work, the Funkwhale team is proud to announce the release of Funkwhale 1.3.0. This release represents a huge number of changes to the codebase and the documentation that we hope you're going to love!

As always, you can find upgrade instructions in the documentation hub.

What's changed?

As mentioned above, 1.3.0 is the result of a huge amount of work on the Funkwhale codebase. Over the past year, the Funkwhale team has overhauled many parts of the web app, the API, the documentation, and the deployment methods to make installing and using Funkwhale a more

Important note: Funkwhale 1.3.0 drops support for Python 3.6. If you're running Python 3.6, update to >3.7 before you upgrade!

A full list of changes is available in the changelog, but let's go through a few of the most exciting ones here!

New audio player

The Funkwhale audio player has been rewritten from scratch by wvffle. This new player uses the native Web Audio API and is much more performant than the old Howler-based player. You should notice a much snappier and more fluid experience while listening to tunes ๐ŸŽง

Music visualizer

In addition to the new player, Funkwhale now sports a Winamp-style music visualizer. wvffle worked hard to bring you this WASM-powered visual candy, so get out there and be mesmerized while listening to your favorite music ๐ŸŽ‡

A screenshot of the music visualizer

Simplified Docker setup

The Docker deployment has been streamlined to make updating and maintaining your Funkwhale pod easier. The front container now holds all Nginx-related configuration to ensure that you receive the most up-to-date changes and improvements when you update. If you have additional customizations, don't panic! You can still override these templates to use your own custom ones if needed ๐Ÿ›œ

Technical improvements

Funkwhale 1.3.0 comes with a number of technical improvements. To name a few:

  • The Funkwhale web app has been ported to Typescript and Vue 3 (thanks wvffle!)
  • The API has been updated to be more compliant with OpenAPI, to be more explicitly typed, and to follow Django REST conventions more closely
  • The manage.py script can now be accessed with the funkwhale-manage entrypoint
  • We've made a lot of improvements to our CI to make sure we ship as few bugs as possible

We recommend checking out the changelog to see a full list of what's changed!

Documentation improvements

I've spent most of this release cycle rewriting and cleaning up the Funkwhale documentation hub to feature more consistent language and structure, and to make use of more of MyST's syntax for clearer documentation. You should notice a difference immediately when you enter https://docs.funkwhale.audio! As we streamline the project going forward, we'll aim to reduce the clutter even more ๐Ÿงน

Special thanks

This release was made possible by our community of contributors. We'd like to thank everyone who tested Funkwhale, provided feedback, committed code, supported us financially, blogged about us, and continued to use the software while we finished up the release ๐ŸŽ‰

We'd like to especially thank:

Happy upgrade, everyone! We'll see you at the next one ๐Ÿ‹

By @Sporiff in Release