Schema change release: May 17, 2021

We’re having a schema change release on May 17, mostly to make small changes that will make our queries more efficient, ensure better constraints, and make some hardcoded options editable without schema changes in the future. We are also upping the required versions of both Perl and Node.js to 5.30 and 16.0 respectively (see the “Minimum version requirements” section below.)

Here’s our list of tickets for the Spring 2021 schema change, with descriptions of what’s being changed:

Schema changes

  • MBS-1424: Add a “first release date” field to recordings. A very popular request for years, this allows requesting the date of the first ever release a recording appeared on. This adds materialized tables recording_first_release_date and release_first_release_date which are updated via triggers whenever the earliest date changes. The change was released as an optional extension to the main MusicBrainz server schema on Dec 16, 2020, but it will be added to the main schema during this schema change.
  • MBS-10208: Allow merging collections. Users who decide two of their collections should be joined into a larger one should be able to do so without having to move all the entities in the collection manually. This requires adding a editor_collection_gid_redirect table (equivalent to other existing x_gid_redirect tables) to ensure the old collection links redirect to the one they have been merged into.
  • MBS-10566: Convert allowed_series_entity_type and allowed_collection_entity_type to tables to allow for additions without schema changes. The constraints allowed_series_entity_type and allowed_collection_entity_type specify which types of entity can be used in series and collections, respectively. As such, if we want to add the possibility to create series of artists, we need to modify the constraint during a schema change. For ease of use, we are moving the constraints to be their own tables instead, allowing us to update them as needed in the future outside of a schema change release.
  • MBS-10647: Add [no label] to b_del_label_special trigger for labels. The b_del_label_special trigger ensures that any attempt to remove a special purpose label fails. Currently it only checks the special case “Deleted label”, but since “[no label]” is also a special purpose label that should never be deleted, we will add its ID to the trigger check.
  • MBS-10821: Remove orphaned recordings from collections for deletion. Replaces a single function, delete_orphaned_recordings(), to add a new clause that makes it so that recordings referenced only in collections (but not linked to anything else in the database) can be deleted as orphans. This was released on the main MusicBrainz servers on June 15, 2020, but it will be added to the main schema during this schema change.
  • MBS-10962 / MBS-11460Add materialized tables and indexes to fetch releases and release groups by artist or track artist. These tickets will address performance issues on our current artist pages. They do not modify any existing tables, but as mentioned, add some new tables (to be updated via triggers) and indexes.
  • MBS-11097: Support PKCE (Proof Key for Code Exchange) by OAuth clients. Adds two new columns to the editor_oauth_token table. This feature is opt-in, but allows public OAuth2 clients to mitigate auth code interception attacks. The change was released as an optional extension to the main MusicBrainz server schema on Sep 21, 2020, but it will be added to the main schema during this schema change.
  • MBS-11431: Speed up /ws/js/check_duplicates. Adds new indexes only (on the artist, label, place, and series tables, plus their respective alias tables). Improves some slow queries in the editing interface related to duplicate checking, i.e. finding other entities with the same name. Since this is a non-breaking change, it was released on the main MusicBrainz servers on Mar 15, 2021, but it will be added to the main schema during this schema change.
  • MBS-11451: Support ratings for places. Places can be reviewed in CritiqueBrainz yet cannot be rated in MusicBrainz. This is a strange state of affairs: clearly, if they are worth reviewing in depth, they also deserve the option to rate them. As such, we will add place_rating_raw and place_meta tables, in the same way we have for other ratable entities.
  • MBS-11453: Change entity0_cardinality, entity1_cardinality to SMALLINT. The cardinality columns of the link_type table are used to indicate whether the entity on each side of the relationship is expected to have only a few uses of the relationship type in question, or many (too many to comfortably display/edit). This is what stops every single recording of a work showing up in an edit work page, for example. At the moment we allow only two values for cardinality, 0/1. While it is possible that we will want to allow a few other values in between what is effectively “do not show anywhere ever” and “show all the time”, it is clear we will not need more than 32.000 values. As such, we are moving these columns from INTEGER to SMALLINT to reduce table size.
  • MBS-11456: Add MBIDs and redirect tables for artist credits. Adds a gid column to the artist_credit table, and a new artist_credit_gid_redirect table. The MBIDs will allow public identification of artist credits outside of MusicBrainz, and open the door to useful features in the future.
  • MBS-11457: Drop series ordering_attribute. This column was added back when we were expecting to have different types of ordering attributes for series, but we have never used it. We are planning to just drop the column.
  • MBS-11459: Add a script to create edit_data_type_info. edit_data_type_info is a function used for development that we added in 2020 and we will now add to mirrors as well, both for consistency and for anyone who uses their mirror for development and just wants to use it.
  • MBS-11463: Add view to easily access medium track lengths. Our current way of finding the length of a medium is to either load all its tracks, then sum the durations, or to use the duration of its disc ID when present. The first of these requires a lot more processing than just getting the durations straight from the database, while the second ignores any data tracks not on the CD TOC. This adds a medium_track_durations view that allows easy access to the duration of the track lengths for any medium.
  • MBS-11464: Drop statistics.log_statistic. We added the statistics.log_statistic table for a Google Summer of Code project back during a 2012 schema change, but the work never got finished and implemented. We are not planning to implement it anymore, so this table is useless and we will be dropping it.
  • MBS-11466: Change language.frequency and script.frequency to SMALLINT. The frequency column of a language or script indicates how often it’s used and lets us sort the most frequently used entries at the top of our lists. But we don’t store an exact count, just a number from 0-4 indicating “frequently used,” “hidden,” or “other.” Like MBS-11453 above, we don’t expect to need a full INTEGER type to store these columns at any point in the future, so can safely move them to SMALLINT.

Minimum version requirements

We’re raising the minimum required version for Node.js to v16 (which is the next LTS release coming in April 2021). Our current required version, v10, is hitting the end of its life cycle in April, and given there shouldn’t be a particular difficulty installing the current Node.js LTS on any system, it makes sense to just upgrade to the most recent LTS by the time of the schema change day.

We’re also raising the minimum required version for Perl to 5.30. The latest version is 5.32, but the current Ubuntu LTS (20.04), which is likely to be the next base image for our Docker containers, only provides 5.30. Our current required version, 5.18, was released all the way back in 2013, so moving to 5.30 is already a fairly significant improvement.

We’ll post final details about this release just prior to the release and shortly after we complete it, including instructions on how you can update your own copy. If you have any questions, please do leave a comment below or on the linked JIRA tickets!

MusicBrainz Server update, 2021-03-15

This week we have a lot of small fixes and improvements, including a patch that should fix to the elusive bug where some recording pages would sometimes fail to load with a type error. The fix for that issue involved a large change in how we move data around behind the scenes, and in turn caused a few new issues that were reported and fixed during the beta testing period (even more thanks than usual to all testers!). If you happen to find any small errors that might still have remained undetected during the beta testing period, please do let us know.

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 babelfisch, CatQuest, chaban, Cyberskull, Cyna, Freso, HibiscusKazeneko, jacobbrett, jesus2099, kellnerd, Kid Devine, salo.rock, uLuGaBi and Yurim for having reported bugs and suggested improvements. Thanks to Besnik, Jesús Heriberto López Cisneros, mfmeulenbelt, salo.rock, SpearDog, stevemarsan and SustReal for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2021-03-19-hotfixes.

Fixed Bug

  • [MBS-8232] – Guess case lowercases after U+201C (left double quotation mark)
  • [MBS-8621] – Inconsistent result between track and release guess case after apostrophe
  • [MBS-9581] – Event locations (areas/places) don’t use relationship credits in lists
  • [MBS-10004] – JSON-LD MBID URIs should be HTTP
  • [MBS-10866] – TypeError was shown for a recording page
  • [MBS-10976] – Unicode Private Use Area characters are stripped during edit process
  • [MBS-11384] – Some (release) countries are untranslated
  • [MBS-11385] – Country names untranslated in indexed search results
  • [MBS-11407] – Errors that go directly through Controller->error expect .tt templates
  • [MBS-11409] – Recurring warning in server logs for recording’s page
  • [MBS-11410] – Edit could not be created while at the same time approving another one had a time-out
  • [MBS-11420] – “Paste Credits” function doesn’t apply artist credit if it matched existing name
  • [MBS-11423] – Beginner editors report doesn’t show any data
  • [MBS-11424] – Release seeding landing page joins multiple values into one
  • [MBS-11426] – Track URL links open wrong medium when medium position is not aligned with CD numbers

Improvement

  • [MBS-9836] – Guess Case: stop uppercasing “the” in artist names
  • [MBS-9866] – Add some info of what IPI and ISNI are on add forms
  • [MBS-9871] – Display all non-part-of series relationships for a series on pages for entities in the series
  • [MBS-9884] – Use “Created” as label for the begin date of character-type artist
  • [MBS-9987] – JSON-LD: Use “Concept URI” for Wikidata IRIs in the sameAs relation
  • [MBS-10012] – Treat HTTP & HTTPS versions of a link as identical in the entity editor
  • [MBS-10076] – Give a friendlier error when trying to delete an attribute that has children
  • [MBS-10416] – Prevent entering control character in annotation
  • [MBS-10487] – Allow adding instruments and areas from inline search for users with the right privileges
  • [MBS-11398] – Add Qobuz links to sidebar
  • [MBS-11402] – Block smart links: many.link
  • [MBS-11405] – Don’t show ended URL rels in “deprecated relationships” reports
  • [MBS-11408] – Clarify Edit Note Author edit search options
  • [MBS-11419] – Show YouTube Music links on the sidebar
  • [MBS-11422] – Block smart links: gate.fm
  • [MBS-11427] – Add new fields to release editor seeding testing page (seed-love-bug)
  • [MBS-11431] – Speed up /ws/js/check_duplicates
  • [MBS-11433] – Add Mp3tag to the Products header menu and main page tagger list

React Conversion Task

  • [MBS-11403] – Convert attribute in use page to React/JSX

Picard 2.6 Beta 2

The Picard team is happy to announce that Picard 2.6 Beta 2 is now available. This is a pre-release to gather feedback on the changes before the final 2.6 release.

Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback.

If you wonder why this is beta 2 and there was no announcement of beta 1: We had prepared beta 1 for release last week. But then AcoustID got into serious technical trouble. Asking for wider testing of a new Picard release when such an important service was unavailable seemed not a good option, so we decided to delay the announcement. But since AcoustID has now recovered we are now ready for testing the beta version, and we even could get some improvements in over last week’s beta.

Download

Picard 2.6 Beta 2 can be downloaded from Picard website Downloads section.

For macOS users there are now two separate builds available. If you are using macOS Mojave 10.14 or later, including macOS 11.0 Big Sure, please use the download for macOS 10.14+. If you are still on macOS Sierra 10.12 or macOS High Sierra 10.13 you should use the download for 10.12+ instead.

Functionality wise both are the same, but the 10.14+ build uses newer versions of Qt5 and Python and is hence recommended, but won’t run on macOS before 10.14.

Linux users might want to install the beta version using Snap. If your Linux distribution supports Snap you can install Picard from the beta channel using:

snap install --beta picard

Please report any issue through our bug tracker and give us feedback on this beta release on the Community Forums.

What’s new?

This release fixes Picard becoming unresponsive on some systems, especially when editing or adding tags to multiple selected items. This issue has been around since Picard 2.0 and we are happy to have it now fixed.

Apart of that there are also several new features and improvements, such as support for original release date per track, support for a new “director” tag, WebP support for cover art images, improvements to the script editor and the script documentation and more.

Below is a complete list of changes since Picard 2.5.6.

Bugfixes

  • [PICARD-1528] – “Search for similar albums” causes crashes if the selection includes clusters and files
  • [PICARD-1689] – Freezes when adding tags to large album
  • [PICARD-1747] – macOS: Tearing when scrolling list of plugins
  • [PICARD-1926] – “Show changes first” in tag preview window leads to freeze
  • [PICARD-2088] – Picard hangs when adding new tag to multiple tracks in an album
  • [PICARD-2091] – Loading images from cover art via drag and drop from browser only loads PNG and JPEG images
  • [PICARD-2097] – Crash with zh_CN locale
  • [PICARD-2113] – Script can change title of “Unclustered files” special cluster
  • [PICARD-2127] – “Lookup in browser” in metadata box does not pass tagger port
  • [PICARD-2131] – Tagger button reacts slow in Firefox

New Features

  • [PICARD-204] – Support for track-level original release date
  • [PICARD-1998] – Add “director” (for videos) tag
  • [PICARD-2089] – Support WebP images for cover art
  • [PICARD-2124] – Add MB release annotation field as %_releaseannotation% variable

Tasks

  • [PICARD-715] – Chrome to block browser access to localhost
  • [PICARD-1950] – Fix macOS builds with PyQt > 5.13.2

Improvements

  • [PICARD-2084] – Use TLS for AcoustID web service requests
  • [PICARD-2090] – Reenable TIFF support for cover art images
  • [PICARD-2092] – Improve script editor function/variable auto completion
  • [PICARD-2105] – Improve script function popup descriptions
  • [PICARD-2110] – Add %originaldate% and %originalyear% to file naming examples
  • [PICARD-2114] – Show disambiguation comment in CD Lookup popup window
  • [PICARD-2125] – Enable CAA Release Group cover art provider by default
  • [PICARD-2126] – Allow cross origin access to browser integration
  • [PICARD-2130] – Restructure cover art options to make them easier to understand

Helping out

The easiest way to help us getting a great Picard 2.6 release is using and testing this beta release. Please report bugs on the Picard issue tracker and provide feedback in the community forums.

Please also help translate Picard. There have been changes to the user interface and inline scripting documentation and existing translations need to be updated for the final 2.6 release. Translating is easy and can be done online: Head over to MusicBrainz’s translation page on Transifex and click on “Help Translate MusicBrainz”.
Once you have registered an account on Transifex you can start translating. For Picard the primary resource to translate is “picard“, but there is also the “picard_appstream” resource, which is used for providing descriptions for various Linux software-center applications, and “picard_installer”, which contains the translations for Picard’s Windows installer.

If you are a software developer you are very welcomed to provide fixes and features. Picard is free software and the source code is available on GitHub. See Developing on the Picard website to get started.

MusicBrainz Server update, 2021-03-01

Welcome to another MusicBrainz release! This time we have a fair amount of small bugs and improvements both newly requested and recovered from the ancient times of… well, a few years ago, because we spent quite a bit of time looking at older tickets.

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, Freso, HibiscusKazeneko, kellnerd,  Lucas Werkmeister, pmepepnoute, Psychoadept, salorock, Sotho Tal Ker and Trevor for having reported bugs and suggested improvements. Thanks to mfmeulenbelt, Remko de Keijzer, salorock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2021-03-01.

Fixed Bug

  • [MBS-10117] – Password length error message does not indicate correct password length
  • [MBS-10744] – Gender of editors is not translatable
  • [MBS-11378] – Artist gender in artist overview is untranslated
  • [MBS-11387] – “instrument:” attribute name is untranslated when editing relationships
  • [MBS-11390] – Editor profile added entities: Incorrect count when there are pre-NGS release adds
  • [MBS-11395] – muziekweb.nl links not shown on sidebar
  • [MBS-11396] – CollectionType/SeriesType admin page shows entity_type rather than type of allowed entities
  • [MBS-11397] – Place-Series relationship does not show on series page

Improvement

  • [MBS-9095] – Add Recochoku and mora links to the sidebar
  • [MBS-9706] – Normalize OCRemix URLs (including HTTPS)
  • [MBS-10195] – Block Google Amp links & prompt user to get canonical link instead
  • [MBS-10227] – Display entity count on collection page
  • [MBS-10343] – Display a placeholder for darkened images
  • [MBS-10452] – Implement tagger links for releases on recording pages
  • [MBS-10470] – Rename “IRC” link in footer to “Chat (IRC)”
  • [MBS-10557] – Normalize Recochoku URLs to use HTTPS
  • [MBS-11287] – Add Apple Touch icon to the MusicBrainz website
  • [MBS-11389] – Top-align edit medium Tracklist tables
  • [MBS-11394] – Don’t try to load cover art for darkened releases

Kartik Ohri joins the MetaBrainz team!

I’m pleased to announce that Kartik Ohri, AKA Lucifer, a very active contributor since his Code-in days in 2018, has become the latest staff member of the MetaBrainz Foundation!

Kartik has been instrumental in rewriting our Android app and more recently has been helping us with a number of tasks, including new features for ListenBrainz, AcousticBrainz as well as breathing some much needed life into the CritiqueBrainz project.

These three projects (CritiqueBrainz, ListenBrainz and AcousticBrainz) will be his main focus while working for MetaBrainz. Each of these projects has not had enough engineering time recently to sufficiently move new features forward. We hope that with Kartik’s efforts we can deliver more features faster.

Welcome to the team, Kartik!

MusicBrainz Server update, 2021-02-15

This is a fairly small release that brings a few bug fixes and some small improvements, while the team works on some background 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 david-russo and jesus2099 for submitting patches. Thanks to hibiscuskazaneko, kellnerd and Trevor for having reported bugs and suggested improvements. Thanks to mfmeulenbelt and salorock for updating translations. And thanks to all others who tested the beta version!

The git tag is v-2021-02-15.

Fixed Bug

  • [MBS-9573] – Search for edits loses track of type criteria
  • [MBS-11354] – Recording edit view shows up/down arrows for recordings of a single work
  • [MBS-11366] – Harmful links not greyed out once they have been removed
  • [MBS-11368] – Regression: track title span.name-variation disappeared from Edit Medium edit

Improvement

  • [MBS-11329] – Return privileges as a number in internal editor JSON
  • [MBS-11352] – Add Starzik to the “malware domains” blacklist and isGreyedOut
  • [MBS-11359] – Add GeoNames to the sidebar
  • [MBS-11365] – Allow Resident Advisor /podcast URLs for releases
  • [MBS-11369] – Don’t use top vertical align data in tables for details
  • [MBS-11370] – Historic edit track length: display track lengths of 0 ms or -1 ms as unknown

Incident report: January 27th service outage

On January 27th, starting at 4:31UTC we were hit with increasing amounts of traffic from what appeared to be hundreds of different IP addresses mostly belonging to Amazon Web Service IP addresses. At 8:46UTC the inbound traffic overwhelmed our systems and brought nearly all of our services to a standstill.

After investigating the situation and receiving no meaningful assistance from Hetzner (our ISP who advertises DDoS mitigation services as part of their offerings) we blocked three subnets of IP addresses in order to restore our services. At 13:14UTC we put the block in place and our services started recovering.

We reported the issue to Hetzner and to AWS shortly after restoring our service. The next morning we received a friendly email from Andy, who works for one of our supporters at Plex, stating that they received a complaint from AWS. What happened next and how this matter was resolved is told by Andy himself:

Overnight on Wednesday, first thing Thursday morning, we received an abuse report that our servers were flooding an IP that corresponded to musicbrainz.org. We scrambled to investigate, as we are happy MusicBrainz partners, but it was a strange report because we run our MusicBrainz server and hit that instance rather than communicating with musicbrainz.org directly. And the IPs mentioned were specifically related to our metadata servers, not the IPs that would be receiving data updates from upstream. Just as some of our key engineering team members were starting to wake up and scrub in, it started to seem that it was a coincidence and we weren’t the actual source of the traffic and had simply been caught up in an overeager blocking of a large IP range to get the services back up. Never trust a coincidence. We continued to stay in touch with the team at MusicBrainz and within a few hours we had clear evidence that our IPs were the source of the traffic. We got the whole engineering team involved again to do some investigation, and we still couldn’t figure much out since we never make requests to musicbrainz.org and we had already worked to rule out the potential of any rogue access to our servers. By isolating our services and using our monitoring tools, we finally discovered that the issue was actually our traffic to coverartarchive.org, not musicbrainz.org, as they happen to be serviced by the same IP address. And this made much more sense, as we do depend on some API calls to the Cover Art Archive.

The root cause was an update to the Plex Media Server which had been released earlier in the week. There was a bug in that update that caused extra metadata requests to our own infrastructure. We had noticed the spike in our autoscaling to accommodate the extra traffic and already put together another update to fix the bug. That extra traffic on our infrastructure also translated to a more modest increase in requests to some of our metadata partners, including CAA. While the fix was already rolling out to Plex Media Servers, this provided a good opportunity to evaluate the CAA traffic and put our own rate limit in place to protect against future issues. We wrapped up that change in the afternoon on Thursday.

Throughout the ordeal, we appreciated the communication back and forth with our partners at MusicBrainz so that we could work together to investigate and follow leads to find a timely resolution.

Andy from Plex

While this whole situation was very stressful and frustrating to us, in the end it was resolved by a very friendly and technical detective game to identify and resolve the issue. It is always nice when geeks talk to geeks to resolve issues and get services working again. Thank you to Andy and his team — let’s hope we can avoid an issue like this in the future.

We’d apologize for the trouble caused by our IP address block and for our services being unavailable for several hours.

EDIT: We should also mention that all of our services are served from one single gateway IP address, so coverartarchive.org and musicbrainz.org have the same IP address.

MusicBrainz Server update, 2021-02-01

This slightly delayed release brings with it more bugfixes, improvements, and React-converted templates than usual. A new data report created by loujin lists disc IDs that are attached to media but not applied to them. Also, the Italian localization of the website – that was available in beta only and is maintained by salorock – reached 100% and is now available for the main website, evviva!

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 loujin for updating data reports about CD releases. Thanks to Alex_, cam1170, CatQuest, chaban, chirlu, culinko, danbloo, flamingspinach, eloise_freya, Freso, ianmcorvidae, jesus2099, kellnerd, Lotheric, loujin, metrickstar, nikki, pmepepnoute, psychoadept, rafwuk, and selflessself for having reported bugs and suggested improvements. Thanks to mfmeulenbelt and salorock for updating translations. And thanks to all others who tested the beta version!

The git tag is v-2021-02-03.1-hotfixes.

Fixed Bug

  • [MBS-4782] – Cover art edits of merged releases display with broken release link and without image
  • [MBS-8028] – Can’t edit series type
  • [MBS-9674] – URLs with IDN domains not considered valid
  • [MBS-10187] – “Merge artists” edit is stuck
  • [MBS-10872] – Fix “colSpan” in “Edit Medium” edits
  • [MBS-10964] – The credited-as name in an artist credit cannot be empty
  • [MBS-11123] – Improve the “Added entities” table in the editor profile
  • [MBS-11289] – Can not add YouTube Music as external link
  • [MBS-11292] – United Nations flag inappropriate icon for worldwide
  • [MBS-11317] – Annotation trimming breaks initial <li> in release editor
  • [MBS-11328] – Regression: Approving an edit redirects to home page
  • [MBS-11332] – Ended recording-of rels in release inline view show “((ended))”
  • [MBS-11333] – Regression: Cover art edits of merged releases display incomplete filename
  • [MBS-11340] – Punctuation and diacritics not allowed in Spotify user URLs
  • [MBS-11353] – Regression: Image type can’t be unset
  • [MBS-11357] – Regression: Unable to link RateYourMusic to release groups (hotfixed)
  • [MBS-11358] – Regression: Alias sort name can’t be left blank (hotfixed)
  • [MBS-11360] – Regression: Can’t add/edit release group alias (hotfixed)
  • [MBS-11362] – Regression: Recent medium title edits look like they changed the tracklist (hotfixed)
  • [MBS-11363] – Regression: Bad request when cancelling a merge (hotfixed)

Improvement

  • [MBS-1459] – Only display links at bottom of artist overview when relevant
  • [MBS-4548] – Allow seeing all uses of an artist credit
  • [MBS-9840] – Add OVERTURE by DOREMUS to the other DBs whitelist
  • [MBS-10830] – Don’t display remove function in sidebar if an entity can’t be removed
  • [MBS-10915] – Add button to remove individual data tracks in presence of Disc ID
  • [MBS-11111] – Mark recordings merged from release merge as having pending edits
  • [MBS-11256] – Auto accept adding track listing to previously unknown medium
  • [MBS-11279] – Make ISWC and ISRC search in otherlookups consistent
  • [MBS-11288] – Drop decoda.com from lyrics whitelist
  • [MBS-11297] – Block adding Wikipedia/Wikidata links to releases
  • [MBS-11310] – Clarify when discid would cause subsecond changes
  • [MBS-11322] – Update Resident Advisor URL cleanup and add validation
  • [MBS-11324] – Trim input in the barcode search field
  • [MBS-11327] – Show CAA icons on release search page
  • [MBS-11336] – Don’t show ended rels in “URLs with deprecated relationships” report
  • [MBS-11344] – Use HTTPS for rateyourmusic URLs and add validation
  • [MBS-11346] – Lower threshold on report for discID with very long durations
  • [MBS-11351] – Sort instrument reports by name before type

New Feature

[MBS-11348] – New report for releases with attached discIDs that are not actually applied

React Conversion Task

  • [MBS-10995] – Convert Other Lookups form to React
  • [MBS-10996] – Convert search index to React
  • [MBS-11045] – Convert Edit medium edit to React
  • [MBS-11112] – Convert /main error pages to React
  • [MBS-11168] – Convert alias edit form and edit pages to React
  • [MBS-11277] – Convert Other Lookups results to React

Other Task

  • [MBS-10999] – Make adding ISNIs and IPIs auto-edits for everyone
  • [MBS-11361] – Enable Italian localization for musicbrainz.org (hotfixed)

MusicBrainz Server update, 2021-01-11

To welcome this new year, we present a new release of MusicBrainz Server, which is mostly about fixing bugs and making small usability improvements, while continuing the React conversion. Beyond the website, the two most noticeable changes to API users are a bug fix in our OAuth implementation and the addition of recordings’ first release date to release lookup results.

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 atj, chaban, cyberskull, darwinx0r, dragonzeron, drsaunde, fabe56, hibiscuskazaneko, jesus2099, loujin, nikki, salorock for having reported bugs and suggested improvements. Thanks to francescoSardo, mfmeulenbelt, salorock, and Skyjaython for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2021-01-11.

Fixed Bug

  • [MBS-7752] – Clicking on Subscribe/Unsubscribe sends me to the MusicBrainz homepage
  • [MBS-10913] – Since-removed standalone recordings show as being created on “add” edit
  • [MBS-10954] – DiscID tab disabled on “remove disc ID” page
  • [MBS-11181] – Unable to add ended relationship when another relationship to the same target already exists
  • [MBS-11183] – Artist name not preserved as alias after merge
  • [MBS-11233] – Seeding capability was broken during lodash removal
  • [MBS-11237] – Wrong rel info loaded when seeding relationships with target MBID
  • [MBS-11240] – Wrong country detected for Amazon links
  • [MBS-11250] – JSON rating lookup returns the serialized entity instead of the rating
  • [MBS-11253] – JSON tag lookup returns the serialized entity instead of the tag
  • [MBS-11262] – Release sidebar status is untranslated
  • [MBS-11263] – Some valid beatport URLs are not allowed
  • [MBS-11264] – Guess Case > French mode > Chain of c combined with ‘ incorrectly convert it in uppercase
  • [MBS-11265] – Artist not always shown for reorder medium edits
  • [MBS-11275] – Recordings shown as deleted when moving disc ID
  • [MBS-11276] – Same barcode warning points to release being edited
  • [MBS-11278] – Ratings not listed despite rating average and count being present
  • [MBS-11281] – Relationship merge code ignores invalid date periods
  • [MBS-11285] – User rating style doesn’t stick in collections
  • [MBS-11291] – Wrong bootleg check in “ReleasesSameBarcode” report
  • [MBS-11313] – OAuth PKCE S256 verification implementation is not RFC compliant

Improvement

  • [MBS-6048] – Allow submitting edit note when adding ISRCs through the WS
  • [MBS-8141] – Link the disc ID on the remove disc ID page
  • [MBS-8169] – Add a link to the timeline for individual statistics
  • [MBS-11126] – Historic edits: display track lengths of 0 ms or -1 ms as unknown
  • [MBS-11221] – Normalize whosampled.com links to HTTPS
  • [MBS-11234] – Add validation for whosampled links
  • [MBS-11246] – Support for Amazon.SE ASINs
  • [MBS-11248] – Block smart links: li.sten.to
  • [MBS-11274] – Always show the timeline line if accessing via a direct stat link
  • [MBS-11304] – Add recordings’ first release date to API “release” lookup’s output
  • [MBS-11306] – Update CDJapan URL cleanup to use HTTPS + add them to the sidebar
  • [MBS-11309] – Block ToneDen smart links

React Conversion Task

  • [MBS-11228] – Convert Change Release Quality edit to React
  • [MBS-11229] – Convert cover art edits to React
  • [MBS-11235] – Convert Edit Instrument edit to React
  • [MBS-11239] – Convert historic Edit Release Events edit to React
  • [MBS-11243] – Convert first set of cover art forms and pages to React

Other Task

  • [MBS-11247] – Stop highlighting (discontinued) BBC Music relationships

Picard 2.5.6 released

Picard 2.5.6 is a maintenance release. This fixes issues with the context menu of the metadata view and long standing problems with the app signature on macOS Sierra and High Sierra.

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

Bugfixes

  • [PICARD-1943] – App does not start on macOS 10.12 / 10.13, Gatekeeper reports it as damaged
  • [PICARD-2074] – Crash when trying to add new tags
  • [PICARD-2083] – Snap version: path to fpcalc gets invalid after update
  • [PICARD-2087] – Adding new tags crashes Picard with Qt < 5.10