Picard 0.15 released!

The 0.15 stable version was finally released today, with some new features and bug fixes since beta2. There were too many small changes to list, but here’s a partial changelog with the most user-visible ones:

Version 0.15 – 2011-07-17:

  • Added options for using standardized track, release, and artist metadata.
  • Added preferred release format support.
  • Expanded preferred release country support to allow multiple countries.
  • Added support for tagging non-album tracks (standalone recordings).
  • Plugins can now be installed via drag and drop, or a file browser.
  • Added several new tags: %_originaldate%, %_recordingcomment%, and %_releasecomment%
  • Changes to request queuing: added separate high and low priority queues for each host.
  • Tagger scripts now run after metadata plugins finish (#5850)
  • The “compilation” tag can now be $unset or modified via tagger script.
  • Added a shortcut (Ctrl+I) for Edit->Details.
  • Miscellaneous bug fixes.

You can download the new version and report bugs for it 🙂

NGS bug fixes, 2011-07-18

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

Bug

  • [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

Improvement

  • [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/DBDefs.pm
  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 ./upgrade.sh 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!

Bug

  • [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 unaccent.so 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”

Improvement

  • [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

MusicBrainz Summit 11: October 15/16/17, Rotterdam, Netherlands

Hi!

I had originally planned to have a post-NGS celebration and hack day with the MusiXmatch teams in Bologna this month, but timing and costs proved to be an issue. Instead, we’re going to hold a traditional MusicBrainz summit in Warp’s town of Rotterdam, Netherlands. The general idea for this summit is very rough, but I would like to focus on community discussions on the weekend (Oct 15/16) and then focus on customer discussions on Monday the 17 Oct. Everyone would be welcome to attend all portions of the summit, but we’ll have a different focus for different parts of the summit.

I expect the core MusicBrainz team and representatives from Zvooq, Last.fm and MusiXmatch to be at the summit. We’re going to be soliciting for sponsorships in order to help cover the costs of the summit. If you’re interested in attending and/or sponsoring the summit, please comment on this post. Depending on the level of sponsorships we can drum up, we might be able to pay for lodging/food for community members who wish to attend. We’ve made that possible in the past and I would very much like to be able to do that again.

I’m quite looking forward to meeting some of you in Rotterdam!

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:

Bug

  • [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

Improvement

  • [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:

ftp://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-4.0.0beta1.tar.gz

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

http://users.musicbrainz.org/~luks/docs/libmusicbrainz4/

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

http://tickets.musicbrainz.org/

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.