libdiscid 0.6.5 released

A new version 0.6.5 of libdiscid is now available. libdiscid is a C library that allows applications to easily calculate MusicBrainz and freedb disc IDs from audio CDs. It also can extract MCN and ISRC information.

This is a maintenance release. There are no changes to the library itself. Version 0.6.5 of libdiscid provides the following changes:

  • CMake: Restore includedir and libdir
  • Code sign Windows and macOS binaries

More details on libdiscid, information on available language bindings, and downloads of the source code and pre-compiled binaries for macOS and Windows can be found on the libdiscid page. See also the API documentation for details on how to use the library.

MusicBrainz database schema change release, 2025-05-19 (with upgrade instructions)

We’re happy to announce the release of our May 2025 database schema change now! Thanks to all who were patient during Monday’s downtime as we released everything to our production servers.

This is a fairly small database schema change release which mostly makes minor improvements and fixes small bugs. Of the schema change tickets, the one you are most likely to notice while you browse and edit in MusicBrainz is MBS-9253 (which makes it possible to change the order in which we display release groups, and mean EPs now sort before singles). MBS-13832 means releases which have PDF front images now also show the cover art on the sidebar, and MBS-13768 provides permanent links to mediums.

Thanks to Brownd, salo.rock and silentbird for having reported bugs and suggested improvements, and thanks to BenjaBarcos1, Echelon, Joax, Marc Riera, Michal77, onemanue, ozodbekmirzayev and salo.rock for updating the translations.

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server. See the release notes for update instructions.

P.S. Search upgrades will occur in a separate release.

Continue reading “MusicBrainz database schema change release, 2025-05-19 (with upgrade instructions)”

Welcome Summer of Code 2025 contributors!

We are thrilled to announce the selection of 6 contributors to work with us for this year’s Google Summer of Code program! 

MetaBrainz received many great applications this year. Selecting the final contributors was tough and involved deliberating various factors – what these contributors did right is getting in early, engaging with our community, presenting specific and detailed proposals, and proving excellent communication skills and the ability to integrate our feedback back into their proposals.

Thank you to all contributors who submitted a proposal with us!

The whole list of selected proposals can be found on the GSOC website but here is a TL;DR breakdown:

MetaBrainz proposals

Matrix Archiver (libretto) (Jade Ellis AKA JadedBlueEyes)

This project proposal replaces BrainzBot with a new archival service that archives messages directly from Matrix to HTML files on disk and a PostgreSQL database. It will support Matrix features like message editing, reactions and media, and provide full text search over all messages. Both historical and new messages as they come in will be archived.

Centralized Notification System for MetaBrainz (Junaid AKA fettuccinae)

MetaBrainz contains multiple sub-projects which sends out standalone notifications. This project aims to centralize those by developing a shared notification system within metabrainz-org, enabling all sub-projects to deliver user notifications through this notification system. Expected Outcome: A functional notifications system with relevant API endpoint.

ListenBrainz proposals

Importing Listening History Files in Listenbrainz (Suvid Singhal)

This project aims to develop a feature that enables users to import their listening history from various services, including ListenBrainz exports, Spotify, Apple Music, and other CSV file formats. The proposed solution involves creating a backend API endpoint to handle file uploads, building normalizers to parse and validate data from different services, and converting the data to the JSONL format required by ListenBrainz. The solution also includes a frontend to handle file uploads and show the progress to the user.

Onboarding Revamp in Listenbrainz-Android (Hemang Mishra)

A smooth and intuitive onboarding experience is essential for any app, ensuring that users understand its features while maintaining trust and engagement. This project focuses on enhancing the ListenBrainz Android onboarding flow by making it more informative, user-friendly, and privacy-conscious. Key improvements include a dedicated Listen Submission screen to give users full control over which apps contribute listens, clear permission rationales, and fallback mechanisms for denied permissions. Additionally, a revamped sign-in screen will provide better navigation, including a bug report option for easy issue submission.

Development of Advanced User Statistics Visualizations (Granth Bagadia AKA holycow23 AKA granth23)

The project aims to design and implement advanced interactive visualizations for ListenBrainz using Nivo for data visualization and integrating with the existing Flask API. Apache Spark will handle efficient data processing and aggregation. These visualizations will offer granular insights into genre trends, artist diversity, and temporal listening patterns, enhancing user experience and engagement. The project will result in the development and integration of the following four interactive charts into ListenBrainz: Artist Listening, Activity Statistics, Listens by Era Statistics, Genre-Based Listening Patterns and Top Listeners.

Integrate music streaming from Funkwhale & Navidrome (Mohammad Amanullah AKA mAmanullah7)

Allow users to play music from their Funkwhale servers as well as Navidrome directly in BrainzPlayer, as both are self hosted music streaming platforms. Funkwhale used a OAuth2 for secure and safe authentication, but currently Navidrome used basic subsonic authentication (username/password + salt), but soon OAuth2 authentication also will be available for Navidrome. Once these are availanble, we can support Subsonic streaming in the ListenBrainz Player.

What if you’re not in GSoC 2025?

Reading this and feeling inspired for contributing to the code still? Volunteer contributors are very welcome all year round even though we might have slightly less time available to help you during the summer. It is also putting you in an ideal situation for applying to next year’s GSoC. You can find some tips for applying to GSoC with us in one of our previous posts. When you are ready, join us on the MetaBrainz Matrix Channel and showcase your initiative and your skills !

MusicBrainz Server update, 2025-05-05

One last release before the schema change, mostly made up of small fixes and improvements. Among them, we have hopefully finally managed to find and eliminate the issue that caused the “External links” section of editors to sometimes fail to load entirely.

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server. See the release notes for update instructions.

Thanks to derat and dvirtz for having contributed to the code. Thanks to chaban, derat, dvirtz, HibiscusKazeneko, jesus2099, kellnerd and silentbird for having reported bugs and suggested improvements. Thanks to Besnik, macaumetal, Marc Riera, mfmeulenbelt, PS, Quartyn, salo.rock and wileyfoxyx for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2025-05-05.0.

Continue reading “MusicBrainz Server update, 2025-05-05”