Skip to content
0.20.1 (2019-10-28)

Upgrade instructions are available at

Denormalized audio permission logic in a separate table to enhance performance

With this release, we're introducing a performance enhancement that should reduce the load on the database and API
servers (cf

Under the hood, we now maintain a separate table to link users to the tracks they are allowed to see. This change is **disabled**
by default, but should be enabled by default starting in Funkwhale 0.21.

If you want to try it now, add
``MUSIC_USE_DENORMALIZATION=True`` to your ``.env`` file, restart Funkwhale, and run the following command::

    python rebuild_music_permissions

This shouldn't cause any regression, but we'd appreciate if you could test this before the 0.21 release and report any unusual
behaviour regarding tracks, albums and artists visibility.


- Added a retry option for failed uploads (#942)
- Added feedback via loading spinner when searching a remote library
- Denormalized audio permission logic in a separate table to enhance performance
- Placeholders will now be shown if no content is available across the application (#750)
- Reduce the number of simultaneous DB connections under some deployment scenario
- Support byYear filtering in Subsonic API (#936)


- Ensure password input doesn't overflow outside of container (#933)
- Fix audio serving issues under S3/nginx when signatures are enabled
- Fix import crash when importing M4A file with no embedded cover (#946)
- Fix tag exclusion in custom radios (#950)
- Fixed an issue with embed player CSS being purged during build (#935)
- Fixed escaped pod name displayed on home/about page (#945)
- Fixed pagination in subsonic getSongsByGenre endpoint (#954)
- Fixed style glitches in dropdowns


- Documented how to create DB extension by hand in case of permission error during migrations (#934)

Contributors to this release (translation, development, documentation, reviews, design):

- Ciarán Ainsworth
- Dag Stenstad
- Daniele Lira Mereb
- Eliot Berriot
- Esteban
- Johannes H.
- knuxify
- Mateus Mattei Garcia
- Quentin PAGÈS