NGS Bug fixes, 2011-07-25

Here’s the last release for July:


  • [MBS-259] – PUIDs being deleted aren’t highlighted as having pending edits
  • [MBS-1142] – Relationship dropdown boxes don’t update docs when scrolled through with arrow keys
  • [MBS-2189] – Editing the locale of an alias doesn’t show the alias
  • [MBS-2537] – Importing CD stub sets the CD stub comment to the release comment
  • [MBS-2545] – Re-add the Cancel button to the contact user form
  • [MBS-2564] – "Add Missing Entities" tab in add release does not search for Artist Aliases when trying to find Artists
  • [MBS-2588] – Edit note text area is too small (one line only)
  • [MBS-2603] – CDStub submission is completely broken since NGS release
  • [MBS-2711] – Merging releases (discs) shouldn’t kill tracklist edits
  • [MBS-2788] – Direct database search does not look for Standalone Recordings until the search indices are updated
  • [MBS-2796] – Create relationship page says edit relationship in the title
  • [MBS-2940] – 500 internal error searching for a discid
  • [MBS-2961] – Internal server error when adding/editing relationship type
  • [MBS-2968] – Can’t change release group for existing release in release editor
  • [MBS-2997] – Age information should not be shown when the birth date is in the future
  • [MBS-2999] – Clicking "Add Disc" on tracklist editor for 4-medium release before loading 4th medium doesn’t work
  • [MBS-3003] – Internal server error when editing a URL
  • [MBS-3023] – Impossible to edit a release that is missing disc 1?
  • [MBS-3039] – Unable to enter URL that misses "http://"
  • [MBS-3047] – Release Editor gives useless error message if you supply an invalid date
  • [MBS-3053] – Internal server error when attempting to approve edit
  • [MBS-3060] – Modbot doesn’t remove empty artist
  • [MBS-3066] – Splitting to multiple artists using Credits fields only recognises first artist
  • [MBS-3085] – Wrong text displayed in the Merge releases dialog
  • [MBS-3089] – Release edit crash (internal server error) when changing release artist credit


  • [MBS-2085] – No way to apply Release artist {credit} changes to tracks
  • [MBS-2548] – Discogs URL validation (artist vs. label vs. release vs. master)


  • [MBS-2747] – Remove orphaned recordings

NGS bug fixes, 2011-07-18

A slow, but steady week at MusicBrainz land – here’s what we got fixed in the last week.


  • [MBS-375] – Create redirect web server config files
  • [MBS-1169] – Musicbrainz NGS Server is missing a hell of a lot of HTML sanitization. (HTML/script injections galore…)
  • [MBS-1443] – Make editor search not only look for an exact match
  • [MBS-1973] – "Cancel relate to …" only appears on entity it was started from
  • [MBS-2054] – View of User ‘Accepted’ edits contains All Edits including Auto-edits
  • [MBS-2126] – Release Editor response times are unacceptable
  • [MBS-2132] – Link to "remove release edit-type" is broken
  • [MBS-2321] – Release editor let you enter invalid barcode
  • [MBS-2509] – Clicking the text "Yes/No/Abstain/None" below the first edit on an edit list page changes the votes for all edits on that page.
  • [MBS-2578] – Strange display of combined format when some mediums have no format set
  • [MBS-2596] – Submitting Puids failed with Error 500
  • [MBS-2820] – URLs with pending edits not highlighted
  • [MBS-2827] – /ws/2/collection can’t return more than 25 releases
  • [MBS-2844] – Changing artist Type to Person resets Gender
  • [MBS-2850] – Duplicated ISRC codes displayed on "Merge recordings" edits
  • [MBS-2852] – MusicBrainz events in timeline sometimes appear in the y-axis labels
  • [MBS-2855] – Geometry URLs for timeline graph are somewhat wrong
  • [MBS-2862] – Edit search results are not sorted
  • [MBS-2869] – Subscriptions email doesn’t include anymore your own edits in the "Subscribed editors" section
  • [MBS-2893] – Puid lookup only returning tracklist offset sometimes
  • [MBS-2952] – Add Release edit needs to display release group and artist of release group it’s being added to.
  • [MBS-3000] – Empty <date/> included for releases with no date
  • [MBS-3011] – Editing of Release Event Date labeled as Name
  • [MBS-3029] – Error on test server


  • [MBS-2853] – MusicBrainz event lines should be thicker
  • [MBS-2854] – MusicBrainz events should change pointer on hover
  • [MBS-2856] – Statistics pages are not styled like the rest of the site

Schema change release, 2011-07-11

Today we released our first schema change update since NGS. This change is quite a radical one, as it merges both of our databases (“READWRITE” and “RAWDATA”) into a single database. For most users of the database, this probably won’t affect you, but you’re encouraged to run the upgrade process anyway. Here’s what you need to do:

  1. Take down the web server running MusicBrainz, if you’re running a web server.
  2. Turn off cron jobs if you are automatically updating the database via cron jobs.
  3. Set DB_SCHEMA_SEQUENCE to 13 in lib/
  4. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  5. Switch to the new code with git fetch origin followed by git checkout v-20110711-schema-change
  6. Run ./ from the top of the source directory.
  7. Install the perl modules Algorithm::Merge and Algorithm::Diff
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

This process may take a while, as it has to dump one database into another, and download a few extra changes to ensure slaves aren’t missing any data. The RAWDATA database should no longer be in use and you should be able to drop it, but waiting to see that everything is working well might be a good idea.

This schema change does not introduce any new data. For everyone else, here’s a list of what got fixed since the last release!


  • [MBS-1977] – ModBot is unable to close some edits
  • [MBS-1979] – Unable to edit a “later translated versions” relationship with change direction
  • [MBS-2026] – Subscribed artists open edits won’t load for editors with large amounts of subscriptions
  • [MBS-2442] – MB postgres unaccent extension overwrites library shipped with postgres-contrib
  • [MBS-2689] – Timeline isn’t working in Opera 10
  • [MBS-2698] – Some tables are not replicated through Live data feed
  • [MBS-2812] – Adding track times has caused a failed dependency for an edit which changed the track titles.
  • [MBS-2826] – Web service returns malformed XML (not escaped properly)
  • [MBS-2831] – “Edit medium” edit display: Artist credits changes are incorrect
  • [MBS-2974] – I don’t receive e-mail when someone votes no to my edit any more
  • [MBS-2981] – Changing the case of recording comments should be auto-edits
  • [MBS-2986] – tracklist_index was not populated during NGS
  • [MBS-2995] – Caught exception in MusicBrainz::Server::Controller::WS::2::ReleaseGroup->release_group_browse “Can’t call method “format”


  • [MBS-1500] – Remove tracklist_index.tracks
  • [MBS-1707] – Advanced tracklist in RE: “Title” to “Disc title”
  • [MBS-2242] – Disable editing of Medium title when there’s only one medium
  • [MBS-2434] – Combine READWRITE and RAWDATA
  • [MBS-2462] – Other edit types that don’t highlight what has changed between old and new values
  • [MBS-2583] – “Edit Medium” should show you which medium is being edited with respect to the overall release
  • [MBS-2767] – Release-group XML result should include first release date

NGS bug fixes, 2011-07-05

The wheels of change are slowly starting back up again, now that we have all our employees back 🙂 Here’s what we’ve got done since the last release:


  • [MBS-1849] – Alias locales not included in the XML
  • [MBS-2223] – Length not shown in edit when adding a standalone recording
  • [MBS-2586] – Search results do not show standalone recordings
  • [MBS-2807] – Stack trace requesting /ws/2/collection when user has no collections
  • [MBS-2846] – Internal Server Error on lot of editing histories
  • [MBS-2880] – Error viewing release group/URL
  • [MBS-2882] – Merge recording edit display incorrectly once applied
  • [MBS-2898] – Search indices aren’t updating, haven’t updated in over 20 hours


  • [MBS-777] – Make cancelling take effect sooner
  • [MBS-1508] – Should release browse request allow inc=recordings
  • [MBS-2767] – Release-group XML result should include first release date

Beta release of libmusicbrainz4 with NGS support

Andy Hawkins and Lukáš Lalinský have been doing some work on libmusicbrainz, and a beta release of version 4 is now available. Here’s what Andy has to say:

Hi all,

In conjunction with Lukas I’ve been working on a complete rewrite of libmusicbrainz to support the new Web Service v2 released alongside NGS. I’m happy to announce the first Beta release of this new library (libmusicbrainz4).

The library is written as a relatively simple parser for the results from the Web Service, with as little logic as possible. This should mean it is easy to maintain to keep in step with any changes in the schema for the XML Web Service.

The main interface is a C++ class ‘CQuery’, that returns a Metadata object containing a parsed version of the response. There is also a C interface that loosely wraps the C++ classes.

Using the library requires a good understanding of the queries and responses to and from the Web Service.

The library is available to download here:

Documentation is generated from the source (make docs), an online copy is available here:

If you find any issues, please report them using JIRA (under the project ‘libmusicbrainz’) here:

I will attempt to be available via this mailing list and the #musicbrainz-devel IRC channel on freenode in order to answer questions if at all possible.