GSoC 2025: MetaBrainz Notification System

Hello, my name is Shaik Junaid (IRC nick fettuccinae and fettuccinae on GitHub). I’m an undergrad computer science student from MGIT, Hyderabad, India. My project focused on adding a central notification system for MetaBrainz.

Project Overview

This project’s idea was suggested to me by mentor @ruaok (AKA mayhem on IRC). I submitted my proposal on the MetaBrainz Forum and got it reviewed by @kartikohri13 (AKA lucifer on IRC), and finally got selected for GSoC 2025 .

A centralized notification management system will various MetaBrainz projects send notifications to users without rewriting boilerplate code. It will also keep users informed about the latest events and new features across projects. This is a goal bigger than the scope of a single GSoC project. To keep it reasonable, my project focused on implementing REST APIs, hosted on metabrainz.org, to manage notifications and user preferences for notifications. Additionally, I integrated the system with ListenBrainz to demonstrate its functionality.

The project spec sheet can be found here.

Continue reading “GSoC 2025: MetaBrainz Notification System”

GSoC 2025: Advanced User Statistics Visualizations

Greetings, Everyone!

I am Granth Bagadia (holycow23 on IRC), an undergraduate Computer Science student at Birla Institute of Technology and Science (BITS), Pilani. This summer, I had the opportunity to participate in Google Summer of Code 2025 with MetaBrainz, where I worked on introducing advanced user statistics visualizations for ListenBrainz.

I was mentored by Ansh Goyal (ansh on IRC), Kartik Ohri (lucifer on IRC), and Nicolas Pelletier (monkey on IRC). This post summarizes my project, its outcomes, and my experience over the course of the program.


Project Overview

ListenBrainz already provided some listening statistics, but these were limited in scope and depth. My project set out to design and implement advanced statistics that could offer users more meaningful insights into their listening habits. Since ListenBrainz is a user-centric platform, the idea was to create features that would let listeners explore their behavior from multiple perspectives. My original proposal focused on introducing a few key statistics.

The core statistics included:

  • Genre Trends – showing what genres a user listens to at different hours of the day.
  • Era Statistics – highlighting which musical eras dominate a user’s listening history.
  • Artist Evolution – tracking how much a user listens to specific artists over time.
Continue reading “GSoC 2025: Advanced User Statistics Visualizations”

GSoC 2025: Importing Listening History Files in Listenbrainz

Hi Everyone!

I am Suvid Singhal (suvid on matrix), an undergraduate Computer Science student at Birla Institute of Technology and Science (BITS), Pilani. I took part in the Google Summer of Code 2025 and have been contributing to Metabrainz Foundation since December 2024. My GSoC project was to develop a file-based listening history importer for ListenBrainz. The project was mentored by Lucifer and Monkey.

Project Overview

Listenbrainz is a platform to track your music habits, discover new music and share your music taste with the community. A feature I missed after creating my ListenBrainz account and connecting Spotify was the ability to see my complete Spotify listening history. My project addresses this gap by allowing users to export their extended streaming history from Spotify and import it into ListenBrainz. Additionally, users can import backups from their old ListenBrainz accounts. With the foundation ready, it will be simpler to add support for more file importers in future. This makes transitioning to Listenbrainz easier.

The importer can be accessed here.

Continue reading “GSoC 2025: Importing Listening History Files in Listenbrainz”

GSoC 2025: Integrate music streaming from Funkwhale & Navidrome

Hey Everyone 👋🏻 !

I am Mohammad Amanullah (AKA m.amanullah7 on IRC and mAmanullah7 on GitHub) final year student at National Institute of Technology Agartala, India and along with that I am a diploma level student at Indian Institute of Technology Madras, India. I was thrilled to be selected as a contributor in the Google Summer of Code (GSoC) 2025 program. My project focused on integrating music streaming from Funkwhale & Navidrome. It was mentored by Lucifer and Monkey.

Let’s start 🙂

Project Overview

ListenBrainz has a number of music discovery features that use BrainzPlayer to facilitate track playback. BrainzPlayer (BP) is a custom React component in ListenBrainz that uses multiple data sources to search and play a track. As of now, it supports Spotify, Youtube, Apple Music and Soundcloud as a music service. It would be useful for BrainzPlayer to support stream music web apps like Navidrome and Funkwhale so that users could stream their private collections as well on ListenBrainz. For those unfamiliar, Funkwhale and Navidrome are self-hosted music servers that implement the Subsonic API, a widely adopted standard for streaming and managing personal music libraries.

Before you proceed further, listen to a song and explore new services so you can feel more when you read the rest of the blog! Check out your Connect services page 🎶

Continue reading “GSoC 2025: Integrate music streaming from Funkwhale & Navidrome”

MusicBrainz Server update, 2025-08-11

This release includes several often-requested improvements and bugfixes, such as better guess casing for English contractions, events being sorted by most recent first, place areas being shown properly in search results again, and the label filter feature actually working at all. It also includes a fair amount of minor improvements, such as updated country flags, new and fixed URL support, and a few more locales for aliases. There’s also two new reports to help find and improve incorrect dates for digital releases and incorrect or missing primary aliases for artists and labels.

We are adding a script to delete accounts that have been around for a year yet have no activity and no verified email address. This mostly affects spam accounts, and its first run deleted several hundred thousand of those. If you’ve been wondering why our user count suddenly dropped, this is the main reason.

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 outsidecontext for having contributed to the code. Thanks to chaban, Deniz C, diskotechjam, emptybrainz, HibiscusKazeneko, jesus2099, Lotheric, Paul Taylor, sammyrayy, silentbird, vexxed, voiceinsideyou and yindesu for having reported bugs and suggested improvements. Thanks to Beteix, Early6431, Echelon, hocu, imgradeone, invalidCards, Libra, ninjum, nzure, Othon19, ROManceJP, sut, TefWw, wileyfoxyx, yyb987, לוכסן and 奶油糖派 for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2025-08-11.0.

Continue reading “MusicBrainz Server update, 2025-08-11”

New release python-discid 1.3.0

A new version of python-discid, a Python wrapper library for libdiscid, is now available. Version 1.3.0 is a maintenance release, ensuring this small library stays available on modern systems.

python-discid was originally implemented and maintained by Johannes Dewender (aka jonnyJD), who also maintained the libdiscid library at the time. We have now moved the project over to be part of MetaBrainz and the source code is now on https://github.com/metabrainz/python-discid/ . Thanks Johannes for supporting this move.

Despite the project move one important change is the updated build system, which now allows building with any PEP 518 compatible build tool. Also support for Python 2 was dropped, the new minimal Python version supported is Python 3.9. For a full change log see the changelog in the documentation.

The new version is available on PyPI. See also the install instructions for more options.

MusicBrainz Server update, 2025-06-23

We’re back with another small release which mostly fixes a few bugs and adds support for more types of URLs (including some for streaming podcasts).

Additionally, starting from this release, an alias cannot be both marked as ended and as primary for its locale. Since the primary flag is supposed to represent the most appropriate alias to use, it should only be used for current aliases anyway, so setting an alias as ended will unset the primary flag. A one-off script was run to unset the currently set primary flags on ended aliases.

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

For mirror owners, after last month’s search upgrade, the transition period to switch to Solr 9 will come to an end by the end of the week. That is, the latest Solr 7 search index dumps will be made available on Saturday, 28 June 2025. After that, only the Solr 9 collection backups will be updated.

Thanks to dvirtz for having contributed to the code. Thanks to beckanhaf, chaban, diskotechjam, dvirtz, M18hellcat, UltimateRiff, yindesu and yyb987 for having reported bugs and suggested improvements. Thanks to Echelon, KiszolgalMotozas0n, mfmeulenbelt, MoeCaa, NorwayFun, roinujnosde, salo.rock, senhordaluz, silentbird, Solarenta, Vaclovas Intas, wileyfoxyx and yyb987 for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2025-06-23.0.

Continue reading “MusicBrainz Server update, 2025-06-23”

MusicBrainz search upgrades, 2025-05-29

After last year’s migration of the Solr back-end powering the search features of musicbrainz.org to a new cluster running major version 9, and last week’s database schema change, here is a pack of search upgrades affecting both musicbrainz.org and the MusicBrainz mirror.

For users, a new search field mediumid is available for the advanced release search, the MBID of artist credits and mediums is added to the output of the search API, and the barcode search field is now ignoring spaces. These improvements are fairly minor compared to the rest of the upgrades which unlock further development of the search components.

For mirror owners, SolrCloud 9 is now available, along with an improved indexer and scripts to load backups from musicbrainz.org and an improved indexer. Also Docker Compose 2 is now required. Actually, those are the changes from last autumn’s announcement. Solr 7 will remain available for one more month starting from now, buying some transition time. A new release of MusicBrainz Docker is available that matches these search component changes. See the v-2025-05-29.0-solr9 release notes for update instructions.

Thanks to Krikooo, JoshDi, mglubb, nelgin, and PeterCodar for their feedback.

Continue reading “MusicBrainz search upgrades, 2025-05-29”

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 occurred separately ten days later.

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