MusicBrainz Server update, 2023-11-13

As announced two months ago to mirrors’ administrators, MusicBrainz Server is now requiring Node.js 20.

As part of that move, we’ve also upgraded our required version of Yarn (used to install JavaScript dependencies from npm) to v4. Unless you’re using musicbrainz-docker, which manages Yarn for you, the Yarn upgrade will require some manual steps. These are to be executed from the musicbrainz-server directory:

sudo corepack enable # Installs yarn to /usr/local/bin
rm -rf node_modules
./script/compile_resources.sh

For more information about corepack, see INSTALL.md.

Also as promised two weeks ago to the same people, it is now possible to rebuild indexes using ICU collations by running:

admin/RebuildIndexesUsingCollations.pl

It has to be run whenever the versions of libc/icu have changed on your system. Auto-detecting this situation will also be implemented soon.

For editors, the most important fixed bug is likely the search for edit by relationship type that was timing out. There is otherwise a fair amount of fixed bugs, improvements, strengthened security, and small new features.

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 for the couple of UI/UX improvements he coded. Thanks to BestSteve, chaban, DontMindMe, Freso, jesus2099, sammyrayy, and yindesu for having reported bugs and suggested improvements. Thanks to bbiirrdd, claybiockiller, Jaken264, joysriram.sarkar.56, julian45, kellnerd, outsidecontext, portik, reosarevok, salo.rock, SoundwaveUwU, suming, Vac31, wileyfoxyx, yurirhsilva, and Водка665 for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2023-11-13.

Continue reading “MusicBrainz Server update, 2023-11-13”

GSOC ‘23: Automating Area Management in MusicBrainz

Hi, this is Prathamesh (IRC Nick: “Pratha-Fish”), an aspiring Data Engineer based in India with a sheer obsession for data, music, computers, and open-source software.

This year, I had the pleasure of being mentored by bitmap and reosarevok for this project and being guided at every hurdle by the incredible team at the MetaBrainz Foundation throughout this project. This blog summarizes my journey with MetaBrainz over the past 22 weeks.

Continue reading “GSOC ‘23: Automating Area Management in MusicBrainz”

GSoC 2023: Reviving the BookBrainz importer project

Hi, I am David Kellner (aka kellnerd), an electrical engineering student from Germany, who has finally found the time to participate in Summer of Code after four years of contributing data, bug reports and a bit of code to MetaBrainz projects (mostly to MusicBrainz and related tools such as userscripts).

Although I had mostly worked with MusicBrainz so far, I decided to apply for the BookBrainz importer project as I was already familiar with the underlying JavaScript technology and saw the huge potential of the idea to transform and import external datasets into the cleverly designed BookBrainz database schema. My proposed project was accepted by the MetaBrainz team and I have been working on it for the last six months under the mentorship of monkey.

This post gives an overview about my GSoC project and the challenges which I encountered during this summer.

Continue reading “GSoC 2023: Reviving the BookBrainz importer project”

CritiqueBrainz update, 2023-10-31

This is a maintenance-only release of the CritiqueBrainz server. It fixes a potential security vulnerability (unexploited so far) and tests. It also updates a bunch of important dependencies to their latest version (Node.js…).

From the users’ point of view, it fixes the preview feature of the text editor in the critique submission form, thanks to the new Markdown text editor, EasyMDE, an actively maintained fork of the abandoned SimpleMDE.

The git tag is v-2023-10-31.0.

This update is delivered to you by ansh, lucifer, and monkey, to keep CritiqueBrainz alive. As a reminder, this project has currently no dedicated developer. Code contributions, even small ones, would be more than welcome!

Continue reading “CritiqueBrainz update, 2023-10-31”

MetaBrainz Summit 2023

As always, the silliest photo is the best photo. Left to right: aerozol, zas, outsidecontext, mayhem, yvanzo, bitmap, monkey, kellnerd, akshaaatt, reosarevok, laptop: atj, lucifer

A year has flown by and once again the MetaBrainz team found itself in the MetaBrainz HQ in Barcelona, Spain, for #summit23. And once again we were munching on a mountain of international chocolates, hiking Mt Montserrat, bird-watching, groaning at terrible puns, testing out mayhem’s Bartendro cocktail robot (some of the team committing themselves too thoroughly to this testing), and of course discussing everything and anything MetaBrainz related. This year we had a longer summit, taking place over the week instead of the usual weekend, broken up into three days of presentations, followed by two days of hands-on ‘hacking’.

This means it’s time to strap in for a long post!

Continue reading “MetaBrainz Summit 2023”

MusicBrainz Server mirror-only fix update, 2023-10-24

If you are running a mirror, you may have seen replication packet #162718 fail to apply with the following error:

Failed query:
'INSERT INTO musicbrainz.tag (id, name, ref_count) VALUES (?, ?, ?)'
(259975 girl group 0)
23505 DBD::Pg::st execute failed: ERROR: duplicate key value violates unique constraint "tag_idx_name"
DETAIL: Key (name)=(girl group) already exists. [for Statement "INSERT INTO musicbrainz.tag (id, name, ref_count) VALUES (?, ?, ?)" with ParamValues: 1='259975', 2='girl group', 3='0']

This occurs because the index tag_idx_name was temporarily corrupted in production after yesterday’s database switchover, due to an ICU collation version mismatch. This allowed people to enter tags with duplicate names.

Since then we’ve fixed the broken packets, and published the fixed versions.

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

The git tag is v-2023-10-24-hotfix.

Notes

  • If you encountered the error above, you’ll have a “previously aborted load,” and must update your MusicBrainz Server to v-2023-10-24-hotfix. After that, replication should operate smoothly without any further action being needed.
  • If you haven’t replicated up to packet #162718 yet, then no action is needed.

We apologize for the inconvenience. We’re improving our database upgrade process to always rebuild indexes using ICU collations.

Fixed Bug

  • [MBS-13333] – Replication is blocked by tag duplicates

Picard 2.10 released

The Picard team is happy to announce that the final version 2.10 of MusicBrainz Picard is now available for download. MusicBrainz Picard is the official tag editor for the MusicBrainz database and helps you get your music collection sorted and cleaned up with the latest data from MusicBrainz.

This release mitigates a critical security issue when loading WebP images, see below for details. In addition there are a several improvements, but mainly this release provides bugfixes and changes behind the scenes such as Python 3.12 compatibility and improved translations.

Continue reading “Picard 2.10 released”

MusicBrainz Server update, 2023-10-02

At the dawn of the Summit 23, here is a comfort release with some improvements, a few bugfixes, and even some small new features.

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 CatQuest, chaban, HibiscusKazeneko, Kurumi, Mark Bakker, Q_FDB, and yindesu for having reported bugs and suggested improvements. Thanks to emiguel1960, salo.rock, Vac31, and Yllelder for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2023-10-02.

Continue reading “MusicBrainz Server update, 2023-10-02”