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”

Off topic: mnslib updated for python 3.10/11 and new packages

[ Sorry for the interruption of the usual MetaBrainz tasks here, but we had a problem where a package we relied upon was not suited for pushing to our production servers. So, as a community effort we fixed this problem and this blog post is to let the general public know about our efforts. ]

The non-metric space library has some impressive fuzzy matching search features that we wanted to use for our metadata matching services. However, the library refused to install on Python 3.10/3.11. Nor were the recent binary packages working.

To address this, we enabled Python 3.10/3.11 support and built binary packages for Windows, Mac and of course, Linux. The code and automation for building new packages is in our clone of the nmslib library.

You can download the packages from PyPi and if you change your dependency from “nmslib” to “nmslib-metabrainz” you should be able to use our packages on Python 3.10/3.11.

However, we do not plan to make any further releases or feature improvements to this package, so please don’t ask us to do so. If anyone would like to adopt the improved version and continue to make releases, we’d be very grateful for someone to clone the repository and to carry on the work we’ve done.

State of the Brainz: 2019 MetaBrainz Summit highlights

The 2019 MetaBrainz Summit took place on 27th–29th of September 2019 in Barcelona, Spain at the MetaBrainz HQ. The Summit is a chance for MetaBrainz staff and the community to gather and plan ahead for the next year. This report is a recap of what was discussed and what lies ahead for the community.

Continue reading “State of the Brainz: 2019 MetaBrainz Summit highlights”

How to set up a ListenBrainz development environment

One of the first rites of passage when working on a new project is creating your development environment. It always seems simple, but sometimes there are bumps along the way. The first activity I did to begin contributing to ListenBrainz was create my development environment. I wasn’t successful with the documentation in the README, so I had to play around and work with the project before I was even running it.

The first part of this post details how to set up your own development environment. Then, the second half talks about the solution I came up with and my first contribution back to the project.

Continue reading “How to set up a ListenBrainz development environment”