The European Open Source Academy is “The home of European excellence in Open Source” – or it was, until it decided to induct our very own Robert Kaye (aka mayhem/rob). Now it is the home of excellence and total mayhem! Congratulations Rob, this is a very well deserved honour š
Continue reading “Europe welcomes mayhem: Robert Kaye inducted into the EU Open Source Academy!”You are invited to MetaBrainz SummitĀ 25
MetaBrainz Summit 25 is upon us! September 15-19 in Barcelona, Spain.
We would love for you to join us remotely. If you are reading this, you are qualified to attend. Congratulations! Read on for more information.
Continue reading “You are invited to MetaBrainz SummitĀ 25”GSoC 2025: Building Libretto, a Matrix Archiver
This post is also available on Jadeās blog
Hello! Iām Jade Ellis, AKA JadedBlueEyes. You might know me from my project with MetaBrainz last year – if not, Iām happy to have the chance to introduce myself. Iām an undergraduate Computer Science student at the University of Kent in England, a music enthusiast and (in my spare time) a climber.
The Setting
In September 2024, MetaBrainz switched from IRC to Matrix as our primary form of communication. Matrix is a more feature-rich alternative to IRC, with capabilities like replies, edits, and reactions, while still being open source and aligning with the principles of our project.
When MetaBrainz primarily used IRC, we had a piece of software called BrainzBot. This was a multi-functional Python app that, most importantly, created a web-accessible archive of all messages in the MetaBrainz channels. Thanks to the bridges between IRC and Matrix, BrainzBot continued to trundle along, but it couldnāt understand modern features like edits, replies, or media. The code itself was also becoming decrepitāa fork of an abandoned project, showing its age.
This led to my GSoC project: to build a replacement for BrainzBotās archival function – a chat archiver that natively understands and preserves Matrixās rich features.
Continue reading “GSoC 2025: Building Libretto, a Matrix Archiver”GSoC 2025: Onboarding Revamp in ListenBrainz Android
Hi everyone,
Iām Hemang Mishra (hemang-mishra on IRC and hemang-mishra on GitHub). Iām currently a pre-final year student at IIIT Jabalpur, India. This summer, I had the opportunity to participate in Google Summer of Code with MetaBrainz. My mentor for the program was Jasjeet Singh (jasje on IRC).
I contributed to ListenBrainz Android, where I worked on revamping the onboarding experience, improving login, adding listen submission apps, integrating Listening Now, and setting up app updates. The journey has been both exciting and full of learning, and Iām truly grateful for this opportunity.
Project Overview
ListenBrainz is a powerful platform that helps track listening history, share music tastes, and build a community around music.
The main goals of my project were:
- Revamping onboarding ā introducing users to the appās core features and handling permissions with clear rationale.
- Improving login āreplacing simple web pages with a custom Compose-based UI, and experimenting with the DOM tree of the web page to automate form submissions and token extraction in the background.
- Listen submission apps ā prompting users during onboarding to select which apps to collect listens from, preventing unwanted submissions.
- Listening Now integration ā adding āListening Nowā into BrainzPlayer.
- App updates ā enabling updates for both Play Store and non-Play Store (F-Droid or sideloaded) releases.
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.
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.