MusicBrainz Server update, 2020-08-24

The summer heat is still with us, and also hot out of the oven is a new MusicBrainz server update! This time we have a fair amount of fixes for the “Set cover art” page (which allows you to select a specific cover art from releases to represent a release group). Some other improvements have been made, some small bugs fixed, and the conversion to React marches on firmly.

A recent change had standardized all edit listings to 100 edits per page (it used to be 25 in some places and 100 in others before that). We’re lowering that to 50 with this update to try and make the edit lists a bit less overwhelming but still not too short that related edits get split over too many pages. Do let us know whether it feels better!

Finally, we disabled URLs marked as ended (since they are often squatted and full of ads) and URLs from domains reported as (hopefully temporarily) compromised. You can still copy the URL itself if you want to check it through the Wayback Machine to try and find out what is/was there!

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 for contributing code. Thanks to bsammon, hibiscuskazeneko, lotheric, mrclon, murdos, nikki, sothotalker, tigerman325, tularion, and yindesu for having reported bugs and suggested improvements. Thanks to Besnik and salorock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2020-08-24.

Bug

  • [MBS-5611] – Not all releases are shown when selecting release group cover art
  • [MBS-5612] – Set cover art for release group page displays releases in a random order
  • [MBS-7793] – Set release group cover art page fails to display as a grid
  • [MBS-8016] – Dates and countries are missing from the set cover art page
  • [MBS-9420] – “Found in X user collections” displays incorrectly from “Split into separate artists” screen
  • [MBS-10721] – Editing AC for track without a title entered shows [removed]
  • [MBS-10901] – undef error – TypeError: Cannot read property ‘linkTypeID’ of undefined

Improvement

  • [MBS-5588] – Make release box clickable without button to select release-group front cover
  • [MBS-8356] – Show barcode on set RG cover art page
  • [MBS-10376] – Indicate current image on RG Set cover art page
  • [MBS-10377] – Label fields clearly on Set cover art page
  • [MBS-10948] – Allow Baidu Baike links for Labels
  • [MBS-10992] – Skip creating hyperlink for “ended” URL relationship
  • [MBS-10998] – Update the WhoSampled logo used in the sidebar
  • [MBS-11004] – Allow “La Boîte aux paroles” links for labels
  • [MBS-11012] – Update the Kickstarter logo used in the sidebar
  • [MBS-11025] – Update the SoundCloud logo used in the sidebar
  • [MBS-11049] – Disable external links to websites reported as compromised

React Conversion Task

  • [MBS-10965] – Convert Add Disc ID edit to React
  • [MBS-10984] – Convert Move Disc ID edit to React
  • [MBS-10985] – Convert Remove Disc ID edit to React
  • [MBS-10994] – Convert user/message.tt to React
  • [MBS-11020] – Convert historic Add Release Annotation edit to React
  • [MBS-11021] – Convert historic Add Track edits to React
  • [MBS-11022] – Convert historic Add Release edit to React
  • [MBS-11028] – Convert historic Edit Release Language edit to React
  • [MBS-11029] – Convert historic Edit Release Name edit to React
  • [MBS-11030] – Convert historic Edit Release Attributes edit to React
  • [MBS-11031] – Convert historic Edit Track edit to React

Other Task

  • [MBS-10990] – Limit edit displays to 50 edits per page
  • [MBS-11005] – Add Kosovo flag for list of release countries

MusicBrainz Server update, 2020-08-10

After a slow summer month, and hot on the heels of the release of Picard 2.4, an update for MusicBrainz Server has finally arrived, fixing ten bugs, converting almost as many templates to React, making small improvements and bringing a few handy 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 Cyna and loujin for contributing code. Thanks to aerozol, chaban, cyberskull, fabe56, hibiscuskazeneko, ijc, jesus2099, Kid Devine, Nero Apunto, and yindesu for having reported bugs and suggested improvements. Thanks to kellnerd and mfmeulenbelt for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2020-08-10.

Bug

  • [MBS-7994] – No distinction made between pregap track and position 1 with number 0 when displaying a release
  • [MBS-10746] – Edit removing pregap track option not shown in edit history
  • [MBS-10833] – ISE when trying to load “Wikipedia page” edit
  • [MBS-10917] – Event ‘Found in X User Collections’ wont expand
  • [MBS-10923] – Pagination of collections not returning consistent results
  • [MBS-10927] – Since-removed entity show as being created on “add relationship” edit
  • [MBS-10930] – ISE when trying to display “microblog” edit
  • [MBS-10932] – Instagram TV links are not allowed
  • [MBS-10937] – Average event rating not shown on all pages
  • [MBS-10943] – Attribute value not shown on “remove relationship” edits for events

New Feature

  • [MBS-9502] – Test if the barcode already exists when adding a new release
  • [MBS-10562] – Add alternate phrases for Places yet to open
  • [MBS-10940] – Allow filtering the artist Releases tab by date and country
  • [MBS-10949] – Add autoselect + sidebar for Migu Music URLs

Improvement

  • [MBS-10193] – Update iTunes/Apple Music URL cleanup
  • [MBS-10925] – Update the VGMdb logo used in the sidebar
  • [MBS-10926] – Add “Copy to end date” button in relationship editor dialogs
  • [MBS-10928] – Update the Baidu logo used in the sidebar
  • [MBS-10939] – Improve Data::Release::find_by_artist to not cause database load issues in production
  • [MBS-10989] – Update VocaDB cleanup to support new Es (series) format

React Conversion Task

  • [MBS-10816] – Convert Add Label edit to React
  • [MBS-10968] – Convert Add ISWCs edit to React
  • [MBS-10969] – Convert Add ISRCs edit to React
  • [MBS-10970] – Convert Add Release Label edit to React
  • [MBS-10973] – Convert Add Relationship Attribute edit to React
  • [MBS-10974] – Convert Remove ISRC edit to React
  • [MBS-10975] – Convert Remove ISWC edit to React
  • [MBS-10980] – Convert Remove Entity edit to React
  • [MBS-10983] – Convert Remove Release Label edit to React

MusicBrainz Server update, 2020-06-29

The React conversion is back with this release. We’ve also fixed a regression that listed unrelated “recording of” relationship edits in history of artists, recordings, and releases, and made a lot of people quite frustrated during the last two weeks (sorry about that!). New edits won’t be wrongly listed anymore, and the existing wrongly-listed edits will be progressively unlisted during the following days. Finally, two new data reports have been created, and small display improvements have been made.

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 contributing code. Thanks to DjSlash, hibiscuskazeneko, insolite, jesus2099, and mavit for having reported bugs and suggested improvements. Thanks to Atsushi Nakamura, kellnerd and salorock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2020-06-29.

Bug

  • [MBS-10825] – Normalization of some Muziekweb links make them invalid
  • [MBS-10908] – Unrelated “recording of” relationship edits for works show up in history of artists, recordings, and releases

New Feature

  • [MBS-10770] – Report on relations with dates in the future
  • [MBS-10895] – Report for mediums with conflicting discID

Improvement

  • [MBS-10736] – Add autoselect + sidebar for Napster URLs
  • [MBS-10802] – Right-align columns of Reorder Relationship table
  • [MBS-10894] – Show label code after selecting label in the release editor
  • [MBS-10903] – Update Operabase cleanup and validation
  • [MBS-10907] – Define background color for header and footer too

React Conversion Task

  • [MBS-10777] – Convert Add/Remove Relationship edits to React
  • [MBS-10801] – Convert Reorder Relationships edit to React

MusicBrainz Server update, 2020-06-15

Today’s release focuses on stability with almost half of changes being bugfixes. It also provides a fair number of small improvements and new features. On a side note, the third party affiliated Magic Tagger is now known as AudioRanger.

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server and to fix a few issues in both standard setup and development setup. See the release notes for update instructions.

Thanks to Cyna, Freso, loujin for contributing code. Thanks to chaban, chiark, jesus2099, kellnerd, nikki, otringal, navap, wmorg, and yeeeargh for having reported bugs and suggested improvements. Thanks to kellnerd and salorock for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2020-06-15.

Bug

  • [MBS-6532] – Work edits not in release edit history
  • [MBS-10186] – “Set track lengths” edit is stuck
  • [MBS-10381] – Duplicate work entity lyrics languages during edit
  • [MBS-10821] – Edit changing medium tracklist and format is stuck
  • [MBS-10836] – My Collections edit link doesn’t show edit page
  • [MBS-10856] – Relationship credit with whitespace causes error
  • [MBS-10867] – uncaught exception: entity not in the entities array
  • [MBS-10873] – Artist not always shown for annotation edits
  • [MBS-10882] – ISE when filtering RGs
  • [MBS-10885] – BadAmazonURLs: TypeError: Cannot read property ‘href_url’ of null
  • [MBS-10887] – CSS misalignment of country/date text with other columns
  • [MBS-10890] – Work language displayed multiple times in edit listings
  • [MBS-10892] – Collaborators can’t add releases to private collection

New Feature

  • [MBS-1736] – Block setting format on too early releases
  • [MBS-10862] – Report for releases with catalog numbers that look like label codes

Improvement

  • [MBS-4644] – Indicate which releases have CAA art in listings
  • [MBS-9340] – Don’t allow more languages if [No lyrics] is selected
  • [MBS-9931] – Fail gracefully when trying to remove a relationship which is in use as an example
  • [MBS-10469] – Show releases more likely to have a processed cover art on front page
  • [MBS-10893] – Add help text to select the appropriate artist from CD lookup
  • [MBS-10897] – Block always more smart links

React Conversion Task

  • [MBS-10393] – Convert Add Standalone Recording edit to React

Other Task

  • [MBS-6864] – Remove PUID edits
  • [MBS-10771] – Block tagging for unverified users
  • [MBS-10891] – Replace Magic Tagger link with AudioRanger

MusicBrainz Server update, 2020-06-02

Now that PostgreSQL has been upgraded to version 12 (see earlier instructions), regular improvements, bugfixes, and React/JSX template refactoring are back on the menu. The most noticeable improvement is probably that we are now able to display more specific error messages in the URL relationship editor when a link is not allowed, instead of always giving a generic “not good”-style message. There are even new features, for admins only, that will allow them to spot and delete sock-puppets and to temporarily disable edit notes from editors who continue to be disrespectful to others without having to delete their accounts outright.

In news not directly connected to the MusicBrainz website, the public search endpoint has been moved from the old search server to the Solr-based search server. This can be used by slave servers if they do not need, or can not afford, to host their own search indexes.

And while talking about slave servers, a new release of MusicBrainz Docker is also available. It follows this update of MusicBrainz Server and fixes a regression that affects servers with live indexing. See the release notes for update instructions.

Thanks to Cyna for converting more edits’ display to React, to KamranMackey and navap for updating external links’ icons. Thanks to alastairp, BestSteve, chaban, chirlu, cyberskull, Freso, hibiscuskazeneko, jesus2099, and Kid Devine for having reported bugs and suggested improvements. Thanks to eduardomariohs, kellnerd, mfmeulenbelt, salorock, and stich94 for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2020-06-02.

Bug

  • [MBS-9010] – Alerts about new edit notes are separate for production and beta
  • [MBS-10613] – Version info footer is shown on some pages in production
  • [MBS-10732] – Internal Server Error: Adding a collaborator to a collection without selecting from autocomplete dropdown
  • [MBS-10839] – “Add selected recordings for merging” missing in standalone-only overview
  • [MBS-10849] – Add release group preview on RE shows “This entity has been removed”
  • [MBS-10850] – Bad Amazon URLs report doesn’t ignore “streaming page” relationship
  • [MBS-10855] – Historic track edit involving since-removed entity doesn’t show recording
  • [MBS-10863] – “Edit barcode” edit doesn’t show barcode

New Feature

  • [MBS-10834] – New account flag for disabling ability to write edit notes
  • [MBS-10845] – Tool to allow account admins to look up accounts by e-mail

Improvement

  • [MBS #1516] – Update Facebook, Google Play, and Spotify icons
  • [MBS-7822] – Update OverClocked ReMix favicon
  • [MBS-8412] – Align number of edits per page
  • [MBS-9516] – Display specific error messages depending on URL validation rules
  • [MBS-9963] – Update Genius link format and logo
  • [MBS-10412] – Update URL cleanup for Niconico URLs, specifically channel links for artists
  • [MBS-10727] – Deny kasi-time.com URLs for lyrics
  • [MBS-10789] – Add validation for Genius links
  • [MBS-10813] – Update the Bandcamp logo used in the sidebar
  • [MBS-10831] – Allow niconico channel links for other entities than artist
  • [MBS-10840] – Capitalise “in key” info correctly in English guess case
  • [MBS-10841] – Add “Guess case” per-medium
  • [MBS-10842] – Remove report user link from deleted editor profiles
  • [MBS-10853] – Link to overview page for edits by subscribed editors in subscription email

React Conversion Task

  • [MBS-10397] – Convert Edit Event edit to React
  • [MBS-10399] – Convert Edit Recording edit to React
  • [MBS-10793] – Convert historic Move Release edit to React
  • [MBS-10799] – Convert historic Move Release to RG edit to React
  • [MBS-10817] – Convert Edit Label edit to React

Other Task

  • [MBS-7781] – Merge duplicate artist credits
  • [MBS-10785] – Remove link to FreeDB Gateway documentation
  • [MBS-10822] – Change tableColumns tables to use named parameters
  • [MBS-10860] – Merge the production and beta Redis stores
  • [MBS-10878] – Convey search queries from slave servers to Solr

PostgreSQL 12 Upgrade Instructions for MusicBrainz Server

Thanks to everyone for your patience during our downtime today. As promised, here are steps to follow to upgrade your own PG instance to v12. (Confused? See the previous blog post on this subject.)

If you’re already running v12, there are still some instructions you must follow!

For MusicBrainz Docker

If you’re running the new MusicBrainz Docker setup, an upgrade script exists for you to use. See the release notes for specific – hopefully brief – instructions.

For a Manual Setup (INSTALL.md Based)

If you aren’t using Docker but rather set up musicbrainz-server by hand following INSTALL.md, see the steps below.

Know that as an alternative, you can always import new data dumps from scratch (again following the steps in INSTALL.md) into a new PG 12 cluster. Just make sure you’re on the v-2020-05-18-postgres12 tag of musicbrainz-server while doing so.

If on the other hand you don’t mind getting your hands a bit dirty, you can use the quicker method below. Like INSTALL.md, this assumes you’re using Ubuntu/Debian and their postgresql-common cluster management tools.

If you’re already running v12, you should still follow these steps; however, you can skip the ones involving apt-get, pg_dropcluster, and pg_upgradecluster. The main steps you need to follow in this case are running the 20200518-pg12-before-upgrade.sql and 20200518-pg12-after-upgrade.sql scripts in that order.

On distros other than Debian/Ubuntu where the postgresql-common tools aren’t available, you’ll have to manage with initdb and pg_upgrade on your own.

  1. First take down the web server running MusicBrainz (stop plackup) to prevent database access.
  2. Turn off any cron jobs updating or accessing the database (e.g. for the live data feed/replication packets).
  3. Switch to the latest musicbrainz-server code with:
    git fetch origin && \
    git checkout v-2020-05-18-postgres12
  4. With PG 9.5 (or whatever version you’re using) still running, run the following “pre-upgrade” script:
    psql -U postgres -d musicbrainz_db \
    -f admin/sql/updates/20200518-pg12-before-upgrade.sql

    This assumes that “postgres” is the name of your PG superuser, and “musicbrainz_db” is the name of your database. If you see a few messages about things not existing, that’s normal.

  5. Install packages for PostgreSQL 12. On Ubuntu/Debian you can obtain them from the PGDG apt repo.
    apt-get update && \
    apt-get install postgresql-12 postgresql-server-dev-12

    If you’re installing postgresql-12 for the first time, this will automatically create a new cluster at /var/lib/postgresql/12/main. Remove that empty cluster. Don’t run this if you already had v12 installed and have data there!

    pg_dropcluster --stop 12 main
    If you did already have v12 installed with musicbrainz_db running there, leave the cluster alone and skip the next step involving pg_upgradecluster.

    In the unlikely event that you already have a v12 cluster, but also have musicbrainz_db running in a separate, older cluster, these instructions won’t work for you. We recommend importing fresh data dumps into the v12 cluster and dropping the old one.

  6. Upgrade the old cluster. This assumes it’s version 9.5; if you’re using version 10 or 11, make sure to replace 9.5 below with 10 or 11. If you have other databases in your old cluster besides musicbrainz_db, be aware that this will upgrade all of them to PG 12.
     pg_upgradecluster -v 12 9.5 main
  7. If all goes well, the new cluster should be up and running. (You can drop the old one if you like; the output of the pg_upgradecluster command will tell you how.) Now run the following “post-upgrade” script on the database:
    psql -U postgres -d musicbrainz_db -f \
    admin/sql/updates/20200518-pg12-after-upgrade.sql
    This may take a bit, as it has to recreate some indexes.
  8. The upgrade is complete. You can turn cron jobs back on, if applicable.
  9. Restart the MusicBrainz web server / plackup, if applicable. If you’re accessing the server in a web browser, the usual release upgrade steps apply, like running ./script/compile_resources.sh again.

If you run into any trouble following the above, please let us know and we’ll try to help resolve your issue as soon as possible!

MusicBrainz Docker composes with Solr 7

The MusicBrainz virtual machine is dead, long live the MusicBrainz Docker Compose project. In fact, the virtual machine has been running it for years. Mostly because the data loaded with the virtual machine was too soon obsolete, it doesn’t seem worth it anymore. Plus, new search indexes are much larger than before, and using Docker Compose directly is much more versatile.

The MusicBrainz Docker Compose project has been deeply revamped since two years ago and now ships the new search server based on Solr 7. It can be used for mirroring the MusicBrainz website and database, testing your own app with a local MusicBrainz web service, or developing the MusicBrainz Server itself. Check out the release notes!

Thanks to everyone who reported issues and contributed patches for two years!

Server update, 2018-08-14, with new virtual machine

A new virtual machine for running your own mirror of MusicBrainz is now available. Thanks to InvisibleMan78 for the continuous feedback and to Jeff Sturgis for his work with Docker Compose! This is the last virtual machine to include the soon defunct search server. Links:

Main changes:

  • Added helper script set-web-server-name to allow connecting to the web site from a remote host;
  • Added helper script turn-port to allow turning service ports on/off for db (postgresql), musicbrainz, redis, and search;
  • Fixed docker containers startup on VM boot;
  • Fixed potential access token loss due to helper scripts reindex;
  • Fixed and improved documentation (now copied inside the VM);
  • Improved error handling in helper scripts;
  • Updated MusicBrainz server, search server, base image and dependencies.

This server release converts more search results pages to React and fixes seven bugs. Thanks to @riipah for fixing @TouhouDB handler. Search scores are no longer displayed on search results page for clarity as they misleadingly weighed down the the importance of results appearing on the first page but not in the first place. The git tag is v-2018-08-14.

Sub-task

  • [MBS-9760] – Convert the event search results page to React
  • [MBS-9761] – Convert the series search results page to React

Bug

  • [MBS-9687] – Field error messages are not always translated
  • [MBS-9694] – TouhouDB URLs are not recognized
  • [MBS-9705] – URL overview header link is now appended with /show
  • [MBS-9744] – OAuth userinfo endpoint returns latin1 encoded JSON
  • [MBS-9755] – Fix unknown search in statistics for scripts
  • [MBS-9757] – Search page form is sometimes in the wrong language
  • [MBS-9784] – IMDb verification too strict (# of digits)

Task

  • [MBS-9780] – Normalize Creative Commons URLs to HTTPS

Improvement

  • [MBS-9767] – Remove search score display from the UI

New MusicBrainz virtual machine released

I have recently released a new MusicBrainz virtual machine. This virtual machine includes all the important bits of MusicBrainz so you can run your own copy! I’d been hoping for feedback if people have encountered any problems with this VM, but I’ve not received any feedback. Here is to hoping that no news is good news!

For information on how to download, install and access this new virtual machine, take a look at our MusicBrainz Server setup page. The new VM can be downloaded from here via direct download or a torrent download.

Most of the outstanding bugs should be fixed in this release — if not, please open a new ticket.

New MusicBrainz test VM available

There is a new test VM available for anyone who would like to try the latest, possibly not fully debugged, VM. I’m not sure why the VM is nearly 20GB larger than the previous one, while containing roughly the same stuff, but that is what we’re stuck with for this test. I’ll try harder to minimize the size for the final build.

Grab the VM here.

Read these Usage tips.

IMPORTANT: Please ignore the usage tips published on the wiki — they do not apply to this release. For the next release I’ll try and match more of the characteristics of the last version. Do read the usage tips above!

File a bug here.