MusicBrainz Server update, 2019-10-14

This post-summit release mostly contains bugfixes and small improvements for quality of life, along with continued conversion of templates to React.

Thanks to alastairp, andrebreiler, antonphoton, chaban, dibou, foolip, hibiscuskazeneko, jdamcd, jesus2099, mat813, mineo, okno, rochusw, silentbird, Skeebadoo, and everyone who tested the beta version, reported issues, or updated website localizations.

The git tag is v-2019-10-17-hotfixes.

Bug

  • [MBS-4980] – Releases on the same date aren’t sorted by catalog number
  • [MBS-5322] – Release group browse requests no longer return results in first-release-date order
  • [MBS-9111] – It’s still possible to leave empty edit notes
  • [MBS-10263] – Annotation not removed after it has been downvoted
  • [MBS-10344] – Navigating to artist/ or recording/merge with only 1 item in the queue ISEs
  • [MBS-10345] – /merge loads (brokenly) even if not ready to merge
  • [MBS-10346] – Table of collections has large table cell padding
  • [MBS-10353] – Enable ratings for release browse
  • [MBS-10369] – Database statistics for countries are wrong
  • [MBS-10406] – The WS can still sometimes try to communicate with the template renderer, timing out
  • [MBS-10411] – Inconsistent type for place coordinate
  • [MBS-10421] – Lookup of cluster in browser from Picard generates an server error
  • [MBS-10423] – Internal Server Error when trying to query by release language

Improvement

  • [MBS-3112] – TAB from “Edit note” doesn’t go to “Enter edit” in “Release editor”
  • [MBS-4486] – Disambiguation input field sanitation: Automatically remove leading and trailing parentheses
  • [MBS-4913] – Show how many CAA images we have for a release
  • [MBS-5083] – Release pages: Display recording artist on tracks (recording)
  • [MBS-5479] – Move “Edit relationships” to be a tab by “Edit” on releases
  • [MBS-8566] – Release artist should be selected automatically for all tracks with the same artist name (CD stub import)
  • [MBS-8967] – The duplicate events report should not show events if all of them have disambiguation comments
  • [MBS-10229] – Block smart links
  • [MBS-10240] – Allow specifying that a release has no barcode while seeding
  • [MBS-10347] – “Actions” columns should only take as much space as they need
  • [MBS-10349] – Clarify what “exclusive” vs “inclusive” means in relationship stats
  • [MBS-10355] – Display track artist on recording pages
  • [MBS-10363] – Cancelling merge on merge helper should stay in the same page
  • [MBS-10370] – Add `direction: forward` to all forward relationships in WS
  • [MBS-10373] – Link to How to Write Edit Notes above the edit note fields
  • [MBS-10404] – Limit the total number of tracks that can be returned in a WS release list
  • [MBS-10405] – Switch to XML::LibXML for serializing XML WS responses
  • [MBS-10407] – Add limit/offset parameters to /ws/2/discid

React Conversion Task

  • [MBS-9915] – Convert the artist public pages to React
  • [MBS-9920] – Convert the recording public pages to React
  • [MBS-9924] – Convert the work public pages to React
  • [MBS-10357] – Convert edit diff macros to React

MusicBrainz Server update, 2019-09-12

It’s time for another server update! This release mostly includes small improvements to make the MusicBrainz site show data in places where it was missing and have more clear messages for the users. We have a lot of other small improvements in the pipeline which we hope to release in the next couple of updates, so if this doesn’t help with any of your pet peeves hopefully those will!

Thanks to CatQuest, chaban, danbloo, demosdemon, eey0re, ianmcorvidae, ijabz, jesus2099, Lotheric, murdos, PeterCodar, $nake, SothoTalker for having reported issues, and to every single one of you who tested the beta version and updated website localizations.

The git tag is v-2019-09-12.

Bug

  • [MBS-4478] – Misleading messages when adding new entities through an edit
  • [MBS-10273] – Huge and weird spacing in front of the release year column on artist pages in beta
  • [MBS-10320] – Don’t wrongly nag local users of MB slave server
  • [MBS-10337] – ISRCs and ratings not shown when artist overview consists of recordings only

Improvement

  • [MBS-975] – Permanently (301) redirect from track/ to recording/
  • [MBS-4161] – List blog relationship type under the External links section
  • [MBS-4787] – Permanently (301) redirect http://musicbrainz.org/ns/mmd-2.0# to web service documentation
  • [MBS-5049] – Show edit note syntax help in edit page too
  • [MBS-10269] – Release editor: Open artist credits preview in a new window
  • [MBS-10280] – When deleting user, cancel open edits from newest to oldest
  • [MBS-10291] – Consider “、” as a delimiter when splitting featured artists
  • [MBS-10324] – Lowercase “Takes” with guess case
  • [MBS-10336] – Clarify disc.track on recording pages
  • [MBS-10338] – Show ratings on artists’ recording page

MusicBrainz Server update, 2019-08-22

Here is our summer vacation homework for the MusicBrainz Server: mainly improving the Guess Case tool, fixing a fair amount of bugs and continuing the migration of templates to React.

Thanks to ferbncode for fixing the Dockerfile that creates a test database. Thanks also to acid2, alastairp, bort27, brianfreud, CatQuest, chaban, cyberskull, florentl, fmera, foolip, hibiscuskazeneko, Jeluang, liftarn, michelv, mineo, murdos, paulakreuzer, PoQStacker, tommycrock, yindesu, zexpe, and everyone who tested the beta version, reported issues, or updated website localizations.

The git tag is v-2019-08-22.

Bug

  • [MBS-2614] – Vote on edits shows expired edits
  • [MBS-5338] – Guess Case doesn’t seem to recognize roman numerals above 10
  • [MBS-5755] – English/Katakana is incorrectly classified as “unlikely language/script pair”
  • [MBS-6087] – Relationship edits for recordings don’t show up on the release edit list
  • [MBS-9028] – Wikidata link makes fetch english blurb even though resulting page is a redirect
  • [MBS-9657] – Remove “with” from Guess Case at the end of a track title
  • [MBS-9837] – Regression: Guess Case button lowercases “Ya” in English
  • [MBS-9976] – ISE on ISWC report when works have been merged away
  • [MBS-10134] – Browse query with incorrect parameters gets submitted to the search server
  • [MBS-10137] – Guess feat button doesn’t change AC on recording pages
  • [MBS-10162] – Alias seemingly ignored for recording, release and RG direct searches
  • [MBS-10250] – User profile link on Spotify shows up as “Stream at Spotify” on the external links bar
  • [MBS-10260] – Video attributes for URL relationships can’t be removed in release editor
  • [MBS-10274] – Docker: musicbrainz-test-database container fails to start
  • [MBS-10278] – Artists with members listed in PossibleCollaborations if they also have other rels

Improvement

  • [MBS-1679] – Don’t display Merge Process in release editor
  • [MBS-2250] – Go back when cancelling merge
  • [MBS-3848] – Guess Case: Support for additional common ETI phrases
  • [MBS-3920] – Extend the “Titles with Featured Artists” reports
  • [MBS-7421] – Properly capitalize iWhatever-like when guessing case
  • [MBS-8065] – Stop Guess Case needlessly standardising “aka”
  • [MBS-8521] – Allow work-level-rels in browse recording request
  • [MBS-8865] – Lower case “rmx” just as “remix”
  • [MBS-9855] – Generalize NotFound templates to one general file
  • [MBS-9981] – Consider “conductor” and “founder” relationships when reporting Artists that may be collaborations
  • [MBS-10143] – Allow querying for tags/genres on discid WS requests
  • [MBS-10156] – Lowercase “remode” and “re‐mode” in ETIs when guessing case
  • [MBS-10161] – Lowercase mono/stereo/quadraphonic in parentheses when guessing case
  • [MBS-10262] – Indicate to user that new RG will be created if RG field is left empty
  • [MBS-10287] – Count tracks (rather than recordings) when determining top work artists
  • [MBS-10315] – Add the LyricWiki icon to links in the sidebar

New Feature

  • [MBS-2663] – Search for edits by non-subscribed entity
  • [MBS-6791] – Search for edits made by beginners

React Conversion Task

  • [MBS-9916] – Convert the event public pages to React
  • [MBS-9918] – Convert the label public pages to React
  • [MBS-10087] – Convert doc pages to React
  • [MBS-10116] – Convert the recording index page to React
  • [MBS-10201] – Convert artist works tab to React
  • [MBS-10202] – Convert artist relationships tab to React

Other Task

  • [MBS-10313] – Reenable CAA images on the homepage for Chrome-based browsers

MusicBrainz Server update, 2019-08-08

This summery release brings one main new feature: collaborative collections! As an editor, you can now share your collections with others. This is mainly intended for community projects, but it can also be a good way to, say, have a shared “Music we have at home” collection with your family, or collect artists with funny names with your friends. You decide how to use it!

To add collaborators to your collections, edit the collection and enter the editors you’d want as collaborators in the appropriate section (suggestion: ask first whether they’re interested, then add them!). Once they’ve been added as collaborators, they’ll be able to add and remove entities from the collection in the same way as you, but they won’t be able to change the title / description: that’s still only for the collection owner to change.

CDs collection shared as a cloak for everyone to see

The release also comes with a bunch of small improvements and bug fixes, including a couple about collections, and continues migrating to React.

Thanks to Ge0rg3 and sothotalker for their contributed code. Also, thanks to chaban, chiark, cyberskull, Dmitry, hibiscuskazeneko, jesus2099, Lotheric, mfmeulenbelt, psychoadept and everyone who tested the beta version, reported issues, or updated the website translations.

The git tag is v-2019-08-08.

Bug

  • [MBS-8867] – Guess Case normalizes “C’mon” as “C’Mon”
  • [MBS-9512] – Changing recording name to empty string should not be allowed
  • [MBS-10100] – ISE without “non-required” attributes for admin/attributes/Language/create
  • [MBS-10133] – Error message when sending an empty query to the WS is unclear
  • [MBS-10212] – SoundCloud URL with trailing slash is not displayed with user name in artist sidebar
  • [MBS-10218] – Regression: Cover Art tab not selected / highlit on release page
  • [MBS-10233] – Regression: ISE when trying to cancel a “add release annotation” edit

Improvement

  • [MBS-8569] – Don’t display ended legal names in the overview page for artists
  • [MBS-9381] – Show user’s own private collections in the list of collections for an entity
  • [MBS-10135] – Support WikiaParoles as its own site rather than LyricWiki
  • [MBS-10139] – Clarify why recording lengths can’t be edited when non standalone
  • [MBS-10210] – Only allow allowed frequencies in language admin form
  • [MBS-10215] – Make ISO number required for script admin form
  • [MBS-10217] – Explain what renaming artist credits does when editing artist
  • [MBS-10219] – Add Muziekweb to other DBs whitelist, with sidebar display
  • [MBS-10222] – Pull legal name alias instead of legal name artist for the relationship Artist-Artist “perform as/legal name”
  • [MBS-10224] – Don’t show the same legal name string multiple times in artist overview
  • [MBS-10246] – Don’t assume all event collections are attendance lists
  • [MBS-10272] – Convert the header / navbar to Bootstrap

New Feature

  • [MBS-8915] – Allow editors to choose delimiter in track parser
  • [MBS-9428] – Allow multiple users to share one collection

React Conversion Task

  • [MBS-9914] – Convert the area public pages to React
  • [MBS-10047] – Convert /oauth2/ pages to React

Other Task

  • [MBS-10131] – Update LyricWiki domain to lyrics.fandom.com

MusicBrainz Server update, 2019-06-30

Today’s release contains some new features/improvements to the web service, several entity index pages being rewritten in React, and tweaks to the edit expiration wording to make it less confusing. See the tickets below for more details.

Thanks to kepstin for helping test the new CORS / OPTION support in the web service.

We’ve also released a number of new changes to the beta server (which as a reminder uses the live, production database), particularly collaborative collections, if you’d like to help test those!

The git tag for today’s release is v-2019-06-30.

New Feature

  • [MBS-10124] – Allow to browse recordings linked to a given work through web service

Improvement

  • [MBS-6033] – Allow CORS preflights
  • [MBS-6072] – WS: Answer OPTION requests
  • [MBS-9732] – Change “expires in” wording/phrasing
  • [MBS-10197] – Remove unneeded data quality edit code

React Conversion Task

  • [MBS-9923] – Convert the URL public pages to React
  • [MBS-10105] – Convert the instrument index page to React
  • [MBS-10106] – Convert the place index page to React
  • [MBS-10122] – Convert the event index page to React

MusicBrainz Server update, 2019-06-03

This server release mostly fixes bugs and regressions. It also updates the URL cleanup code and continues the conversion of templates to React.

Thanks to CatQuest, cyberskull, hibiscuskazeneko, Jeluang, Lotheric, mfmeulenbelt, tungolcraft, yeeeargh, and everyone who tested the beta version, reported issues, or updated website translations.

The git tag is v-2019-06-03.

Bug

  • [MBS-8826] – /ws/ requests that 404 should not return HTML
  • [MBS-10141] – Labels from Trois-Rivières should appear 1 layer up in labels from Mauricie
  • [MBS-10147] – Reports break if an entity in them has been removed / merged
  • [MBS-10148] – Can’t change entity type of empty collection
  • [MBS-10153] – Database statistic tables’ headers’ icons are 404s
  • [MBS-10160] – YouTube channel link that uses the https://www.youtube.com/c/username format won’t have the username shown in the sidebar
  • [MBS-10163] – “Javanese” does not show in instrument Alias page
  • [MBS-10167] – “Existing medium” results give medium position, not number
  • [MBS-10171] – ISE when calling ws/js with a wrong ID
  • [MBS-10182] – Some artist /relationships tabs show an internal server error
  • [MBS-10183] – Regression: Display bug in the title of page crediting the artist (Release Group, Release, Recording)
  • [MBS-10184] – Regression: ISE on displaying some edits
  • [MBS-10196] – XSS vulnerability in Knockout for IE <= 7

Improvement

  • [MBS-9762] – Standardize Songkick URLs
  • [MBS-10095] – Provide a better error than an ISE if trying to admin edit non-existing user
  • [MBS-10108] – Allow linking individual tweets to recordings
  • [MBS-10142] – Update URL cleanup for Sina Weibo URLs + add them to the sidebar
  • [MBS-10151] – Update LiveFans URLs to use HTTPS
  • [MBS-10152] – Display artist areas on Artists tab of area entity

React Conversion Task

  • [MBS-9849] – Convert the release group public pages to React
  • [MBS-10104] – Convert the area index page to React
  • [MBS-10127] – Convert root/components/relationships-table.tt to React
  • [MBS-10189] – Convert the place performances page to React

MusicBrainz schema change release, 2019-05-13 (with upgrade instructions)

We’re happy to announce the release of our May 2019 schema change today! Thanks to all who were patient during today’s downtime as we released everything to our production servers.

This is a fairly minor release as far as schema changes go, but please do report any issues that you come across, especially any related to genres and collections.

Visible changes with this release are limited to an indication if a specific artist credit is being edited (MBS-5387). Work on some of the changes to collections and genres is quite advanced, and we’re hoping to release some of the new features onto beta already in a week or so from now, while others might take a while longer.

Now, on to the instructions.

Schema Change Upgrade Instructions

Note: Importing the latest data dump is always a valid alternative to running ./upgrade.sh on an existing database, if you’d prefer to also get new data in one go. Just follow the relevant instructions in INSTALL.md. The git tag is v-2019-05-13-schema-change. The rest of the instructions here assume an in-place upgrade.

  1. Make sure DB_SCHEMA_SEQUENCE is set to 24 in lib/DBDefs.pm.
  2. If you’re using the live data feed (your REPLICATION_TYPE is set to RT_SLAVE), ensure you’ve replicated up to the most recent replication packet available with the old schema. If you’re not sure, run ./admin/replication/LoadReplicationChanges and see what it tells you; if you’re ready to upgrade, it should say “This replication packet matches schema sequence #25, but the database is currently at #24.”
  3. Take down the web server running MusicBrainz, if you’re running a web server.
  4. Turn off cron jobs if you’re automatically updating the database via cron jobs.
  5. Switch to the new code with git fetch origin followed by git checkout v-2019-05-13-schema-change.
  6. Install newer dependencies Yarn and NodeJS 8 or later according to install prerequisites.
  7. Run cpanm --installdeps --notest . (note the dot at the end) to ensure your perl-based dependencies are up to date.
  8. Run ./upgrade.sh (it may take a while to vacuum at the end).
  9. Set DB_SCHEMA_SEQUENCE to 25 in lib/DBDefs.pm as instructed by the output of ./upgrade.sh.
  10. Turn cron jobs back on, if applicable.
  11. Restart the MusicBrainz web server, if applicable. It’s also recommended you restart redis. If you’re accessing your MusicBrainz server in a web browser, run ./script/compile_resources.sh.

Here’s the list of resolved tickets:

Bug

  • [MBS-5387] – ACs being edited aren’t marked as having pending edits on the aliases tab
  • [MBS-9365] – event_meta_fk_id was never created as part of any upgrade script
  • [MBS-9462] – Standalone databases created before schema 21 are missing some l_event_url triggers
  • [MBS-10146] – Regression: ISE on Remove DiscID page
  • [MBS-10149] – Swap track titles with artist credits fails to update both fields properly
  • [MBS-10150] – Regression: The link to the release group reviews in the release page is broken

Improvement

  • [MBS-9664] – Add database constraints to disallow loop relationship
  • [MBS-10044] – Add place area to place lists

Database Schema Change Task

  • [MBS-10052] – Add new schema for the event art archive
  • [MBS-10173] – Create a genre table in the DB and populate it with existing genres
  • [MBS-10174] – Create an addition timestamp in the DB for new collection items
  • [MBS-10175] – Create a position integer in the DB for collection items
  • [MBS-10176] – Create a comment text field in the DB for collection items
  • [MBS-10177] – Create an editor_collection_collaborator table for collaborative collections
  • [MBS-10178] – Create a genre_alias table
  • [MBS-10181] – Create filesize for cover art and each thumb in the DB

React Conversion Task

  • [MBS-9925] – Convert collection pages to React
  • [MBS-10179] – Convert all entity list components to React