Navidrome 0.60 Music Server & Streamer Unleashes WebAssembly Plugin System

Navidrome 0.60 introduces a WebAssembly-based plugin system, enabling developers to extend the self-hosted music server with Go, Rust, Python, or JavaScript.

Navidrome, a lightweight, self-hosted music server and streaming service, has just unveiled version 0.60, with a complete rewrite of its experimental plugin system.

Now, developers can build extensions for Navidrome using a WebAssembly-based Plugin Development Kit. You can write those plugins in Go, Rust, Python, or JavaScript. For safety, all these plugins run in a secure sandbox. You can manage it all through a new JSONForms-based config panel right in the UI.

Moreover, there’s a new, pure-Go metadata extractor on top of the go-taglib library. The team says this is a major step toward simplifying builds and packaging down the line. It’s on by default, but if you hit a snag, you can flip a config switch back to the old legacy-taglib method.

The release also brings the Instant Mix feature out of beta. This function, which generates dynamic playlists from a seed song, can now source data from Last.fm, Deezer, or directly from plugin APIs for audio fingerprint-based matching.

Navidrome self-hosted music server & streaming service.
Navidrome self-hosted music server & streaming service.

Regarding UI, users will now see a composer field directly in table views, and the system will prompt for confirmation before closing a browser window if music is currently playing. Plus, a new Nautiline-inspired visual theme has been added for interface customization, and the playlist comment input now supports multi-line text and manual resizing for easier editing.

On the security side, Navidrome 0.60 patches a cross-site scripting vulnerability by sanitizing user-supplied data and mitigates a potential DoS vector in the cover art upscaling function.

The update also includes several key refinements. It introduces an option to streamline data for lightweight clients, such as smartwatch apps. Metadata fetching is now more flexible, with multi-language support, and outdated configuration names have been updated with clear warnings to support a smoother transition.

Last but not least, new builds now support the RISCV64 architecture, broadening deployment options.

For more information, see the changelog. If you’re unsure how to install Navidrome, we’ve compiled a simple, step-by-step guide to make the process quick and easy.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *