MusicBrainz Server update, 2023-03-20

We’re hopefully back to a normal schedule after the crazy relationship editor testing period! That means we have the usual small amount of bug fixes and improvements this time, including a couple further fixes for small issues of said relationship editor which were not found during beta testing. We also have a text version of the list of historical MusicBrainz events that could only be seen before as bars on our timeline – which hopefully will help remind us to actually update that with new events on a regular basis.

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, mr_maxis, satanisch_opium, sound.and.vision and yyoung for having reported bugs and suggested improvements. Thanks to salo.rock and an anonymous Albanian translator for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2023-03-21-hotfix.

Continue reading “MusicBrainz Server update, 2023-03-20”

Schema change release: May 15, 2023

MusicBrainz is announcing a new schema change release for May 15, 2023. The actual schema (database) changes we’ve detailed below shouldn’t have much perceivable impact on mirror servers, especially if you only use the web service; most are to remove unused tables/columns or tweak how certain tables are materialized.

The only breaking change to a replicated table is dropping the cdtoc.degraded column (MBS-12573). It’s unused in our codebase, so will have no effect on the web service. However, if you’re querying the cdtoc table directly, you’ll want to make sure your SQL queries don’t expect this column to exist.

One minor change affects first-release-date data for release groups and recordings in the web service (MBS-12800), but only where cancelled releases exist. As of this writing, there are currently only 133 releases with the “cancelled” status.

One change we consider significant is that, as part of this release, we plan to enable replication with dbmirror2 (MBS-12107) by default. This should require no changes on the part of mirror server operators and should be completely invisible/seamless during the upgrade if all goes according to plan. We consider it significant because it’s rewriting a critical part of our replication system and changing the packet format used underneath.

Tools that operate on the current (let’s call them version 1) replication packets, like mbdata, will continue to work; MusicBrainz will continue to generate the old  v1 packets for the foreseeable future while we work to move external tools to the new, v2 packet format.

Read more: Schema change release: May 15, 2023

Without further introduction, here’s the list of tickets for the Spring 2023 schema change:

Schema changes

The following tickets change the database schema in some way.

  • MBS-4685: Allow removing own edit notes when there’s been no follow-up / MBS-11312: Allow original editors and admins to modify edit notes. In order to give editors and admins the option to modify or delete edit notes, this will add a new (non-replicated) table, edit_note_change, where the information about any changes made will be stored. No changes will be made to the structure of the existing edit_note table.
  • MBS-12573: Drop unused degraded column from cdtoc. This was a column that was used many years ago to store whether CD TOCs were based on a less accurate algorithm. For a long time, it’s always contained FALSE (since we dropped the less accurate data at some point). It’s also completely unused. We are just dropping the column entirely.
  • MBS-12704: Remove legacy “Watch artist” code. Over 10 years ago, we had code to follow artists and be notified of new releases and whatnot, but the whole system was never upgraded during the NGS migration. We have decided that if we re-implement this, it will be as part of ListenBrainz, not MusicBrainz. As such, we are dropping the relevant tables: editor_watch_artist, editor_watch_preferences, editor_watch_release_group_type, editor_watch_release_status.
  • MBS-12794: Don’t use spammer tags/ratings when calculating tag counts / rating averages. We do not delete spammer accounts (we just hide them) in order to train our code to identify other potential spammers. An unfortunate side effect of this is that any ratings and tags left by spammers are currently still taken into account when calculating aggregate ratings and tags for MusicBrainz entities. We’ll be making a change to our triggers that update these aggregates to ignore any ratings and tags by editors marked as spammers. This change affects master/standalone databases, but should have no impact on mirror servers, where these triggers do not exist. Some tag and rating values will be changed by this though.
    Edit (Mar. 23): The team has removed MBS-12794 from this release after deciding that the implementation needs more discussion.
  • MBS-12800: Exclude cancelled releases when calculating first recording / release group dates. We store data about releases which were announced, but then were cancelled before they were released. These are often stored with release dates, representing the date the release was meant to have been released. While this makes sense, it has the side effect that these dates affect the calculation of the first release date for any recordings linked to these releases, and the release groups they are in. Clearly, the recordings and release groups were not released on these dates, and we should use the date of their first actual release instead. This will change the triggers that update the release_first_release_date materialized table, which itself will affect the calculations of recording_first_release_date and the release date columns in release_group_meta. These triggers run on mirrors as well.

The remaining tickets below do not make any changes to the database schema.

Replication system changes

  • MBS-12107: Replication with dbmirror2. See the introduction above and the linked ticket for more information. The prerequisite database changes required for this were already applied as part of the Spring 2022 schema change, so enabling the v2 system only requires code changes.

Upgrade script changes

  • MBS-12370: Rename schema change upgrade script suffixes to clearly indicate which nodes they run on. This is an internal-only change which should have no impact on users.

We’ll post upgrade instructions for standalone/mirror servers on the day of the release. If you have any questions, feel free to comment below or on the relevant JIRA tickets.

MusicBrainz Server update, 2023-02-28

After about three years of development and almost six months of beta testing, here is the new implementation in React of all the relationship editors, including the release relationship editor. During the beta period, a hundred more smaller changes have accumulated; mostly bugfixes, but also some URL handling improvements and a fair number of other pages converted to React.

This is a major step forward in development as it makes the project more open to JavaScript contributors and allows for implementing more refinements.

From an editor point of view, the relationship editing dialog slightly changed visually, but overall the page offers the same features, fixes a large amount of bugs, and has some additional improvements:

  • Better handling of very big releases by not loading all tracks at once
  • Added ability to edit batch-created works before they’re submitted
  • “+” icons to quickly add additional relationships of the same type are now also available on the release relationship editor
  • Now remembering which entity type was selected last in the relationship dialog
  • New type-to-search functionality for the relationship type selector
  • Better internationalization as the layout ordering of fields is based on their dependencies rather than on the English grammar of link phrases.
  • Better seeding of data: easier to script, more reliable, and more available fields
  • Recording-work relationships can now be reordered straight from the release relationship editor
  • Reordering relationships can now also be done by entering the order number rather than using up and down arrows
  • A preview of the relationship (and any changes) is now shown in the add/edit relationship popup

During the beta period, another hundred tickets or so relating to the new editors were reported and addressed. There still are a few tickets reported during the beta that have not yet been resolved, but their drawbacks are outweighed by the benefits of this server update. They are still tracked and will be addressed later on.

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 jesus2099, julian45, and Maxr1998 for having contributed some code. Thanks to kellnerd for working with us to make sure his data seeding scripts worked in the new editors and through that helping us improve script and seeding support. Special thanks to chaban for his thorough dedication at identifying/reporting/detailing issues during these months. Thanks to Admiy, CatQuest, cherryblossom000, chiark, Cyberskull, drsaunde, Eincrou, Griomo, HibiscusKazeneko, johnnyjd, mcboing, mfmeulenbelt, Midness, MXS, otringal, outsidecontext, sound.and.vision, timmart.in, UltimateRiff, vzell, withered.silence, yindesu and zos18 for having reported bugs and suggested improvements. Thanks to 3Johnny, Blu777, dongrimaldo42, homersimpsons, perea and salo.rock for updating the translations. And thanks to all the many others who tested the beta version!

Edit: The changes for MBS-10614 accidentally allowed editors without a confirmed email to vote for a while – this has now been hotfixed.

The git tag is v-2023-03-03-hotfixes.

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

MusicBrainz Server hotfix, 2023-01-10

A spam technique has been discovered that consisted in creating an account with a malicious URL in the username and the email of the intended victim, so that the victim would receive a verification email with the malicious URL inside it. It was most often combined with control characters to make the malicious URL even more visible.

Thanks to Devin McGovern from the Cyber Security Operations Department at Hyatt who responsibly disclosed this issue to the team.

To deal with the issue:

  1. Creating new such accounts has been blocked; See MBS-12827.
  2. Existing such accounts, around 40,000, have been removed (since new verification emails could still be requested); See MBBE-68.

It doesn’t affect mirrors so there is no update for MusicBrainz Docker.

The git tag is v-2023-01-10-hotfixes.

Continue reading “MusicBrainz Server hotfix, 2023-01-10”

Picard 2.8.5 released

Picard 2.8.5 is a maintenance release for Picard 2.8, fixing two regressions found in the previous release.

The latest release is available for download on the Picard download page.

Thanks a lot to everyone who gave feedback and reported issues.

What’s new?

Bugfixes

  • [PICARD-2590] – Relative paths for cover art file names no longer work
  • [PICARD-2593] – Toolbar icon text disappears when saving options
  • [PICARD-2596] – “Show icons in menus” option is applied without saving options

Get in touch

Please use the MetaBrainz community forums and the ticket system to give feedback, suggest new features or report bugs.

End-of-life for external access to MusicBrainz search server

For MusicBrainz mirrors, MusicBrainz server development, and custom applications, there used to be a direct access to search.musicbrainz.org which was actually inherited from the previous search infrastructure until 2018.

Keeping it available in the current infrastructure uses a compatibility layer which has been unintentionally broken last year. This issue has been reported only once. The alternative and much more sensible solution which is to install a local search server has improved in reliability and simplicity in the meantime. Polling the community shown that only one person would be interested which isn’t enough to justify the maintenance overhead for this replaceable service.

Therefore it has been decided to close this access for good.

Thanks to everyone who made this transitioning service to work and handle about 40k requests a day on average!

Picard 2.8.4 released

Picard 2.8.4 is a maintenance release for Picard 2.8. This release contains multiple bug fixes, please see the list of changes below.

The latest release is available for download on the Picard download page.

Thanks a lot to everyone who gave feedback and reported issues.

What’s new?

Bugfixes

  • PICARD-2520 – Null bytes in tag values can cause crashes when sorting
  • PICARD-2539 – Picard crashes on huge releases if no cover art provider is active
  • PICARD-2548 – Loaded album does not update cover art display
  • PICARD-2549 – Moving tracks between albums shows tracks differ even when they do not
  • PICARD-2554 – Submit AcoustIDs submits even IDs that are in center pane
  • PICARD-2556 – Player popovers for volume and playback speed crash on Wayland and open on wrong position
  • PICARD-2557 – Add New Tag autocomplete list contains value typed so far
  • PICARD-2558 – Floatable toolbars unusable under Wayland
  • PICARD-2564 – Options for “Windows compatibility” and “Replace non-ASCII” get incorrectly set to inactive
  • PICARD-2565 – Rules for file name compatibility and max. path shortening are not applied when saving cover art
  • PICARD-2568 – $cleanmulti() has no effect for hidden variables
  • PICARD-2570 – Unable to drag tracks from right hand pane to Clusters
  • PICARD-2582 – distutils.errors.DistutilsClassError when building with setup.py
  • PICARD-2588 – QObject::startTimer: Timers can only be used with threads started with QThread

Improvements

  • PICARD-2589 – Support media types “DualDisc (DVD side)” and “Betacam SP”

Get in touch

Please use the MetaBrainz community forums and the ticket system to give feedback, suggest new features or report bugs.

MusicBrainz Server update, 2022-09-06

This release mostly consists of small bug fixes and improvements. One bigger bug fix (MBS-12497) involves an issue where it was impossible to apply any edit which would cause an artist credit with any redirects pointing to it to be removed. Sorry about your stuck edits, people! They should now pass.

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 chaban, HibiscusKazeneko, jesus2099, Mineo and sammyrayy for having reported bugs and suggested improvements. Thanks to ikerm2003 and salo.rock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2022-09-06.

Continue reading “MusicBrainz Server update, 2022-09-06”

MusicBrainz Server update, 2022-08-22

It’s time for more fixed bugs and refactoring/maintenance tasks.

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 and otringal for having reported bugs and suggested improvements. Thanks to hamaryns, ikerm2003 and salo.rock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2022-08-25-hotfixes.

Continue reading “MusicBrainz Server update, 2022-08-22”

Picard 2.8.3 released

Picard 2.8.3 is a maintenance release for the recently released Picard 2.8 which fixes a potential crash in the album search dialog and provides updated translations.

The latest release is available for download on the Picard download page.

The detailed changes for this maintenance release are below. For an overview of the new features since Picard 2.7 please see our detailed release announcement for Picard 2.8 and the changes in Picard 2.8.1 and Picard 2.8.2.

Thanks a lot to everyone who gave feedback and reported issues.

Continue reading “Picard 2.8.3 released”