Picard 2.3.1 released

Picard 2.3.1 has been released and is available for download. This is mainly a bugfix release, but also some smaller improvements and features made it into this version. Notable changes are the addition of the $sortmulti and $reversemulti scripting functions, overall better handling of releases with multiple release countries and some fixes for the AcoustID fingerprinting. See below for a full list of changes.

This release contains code changes by zas, rdswift, outsidecontext and new contributor RaysDev, who also is working on some interesting changes for the next release. Thanks a lot again to everybody who contributed to this in release with code, translations, bug reports and general feedback. The Picard 2.3 release already was well received, but it is thanks to you all that we can provide a sizeable list of improvements just 10 days later.


Picard 2.3.1 is available for download from the download page.


Below is a list of all changes since Picard 2.3. If you are upgrading from an older version you might want to read what is new in Picard 2.3.


  • [PICARD-1745] – Packaged libdiscid is not compatible with macOS 10.12
  • [PICARD-1748] – Many release events can cause the versions context menu to overflow
  • [PICARD-1750] – Existing acoustid_fingerprint tags are not considered for AcoustID submission
  • [PICARD-1754] – DEL always removes release or file from main window
  • [PICARD-1756] – Plugin update fails to compare plugin versions with double digit versions
  • [PICARD-1757] – Crash on loading a release if $div(n,0) is used in a script
  • [PICARD-1760] – Prevent duplicates in top tags editor
  • [PICARD-1762] – Dropping a PDF file on cover art image box doesn’t work
  • [PICARD-1765] – Adding uppercase tags to preserved tags list is not handled correctly
  • [PICARD-1772] – Unexpected results with $num function
  • [PICARD-1773] – Untrapped error on $mod with zero input
  • [PICARD-1774] – $lenmulti with missing name returns “1”

New Feature

  • [PICARD-1743] – Add script functions $sortmulti and $reversemulti to sort and reverse multi-value variables
  • [PICARD-1751] – Provide a %_releasecountries% variable


  • [PICARD-1746] – Change Generate AcoustID Fingerprints shortcut to Ctrl+Shift+Y / ⌘⇧Y
  • [PICARD-1752] – Use preferred release countries to select a matching release country if there are multiple
  • [PICARD-1755] – “Supported Languages” on Microsoft Store shows only English (United States)
  • [PICARD-1759] – Make editing tags in top tags list more intuitive
  • [PICARD-1771] – Completely ignore release types set to zero in preferred releases


MusicBrainz Server update, 2020-02-18

Today’s release brings a fair amount of small bug fixes and improvements to the website. Notably, it changes the way we display relationships to group ones that are similar (such as different instruments by the same performers) and makes editing history (but not editors and edit notes!) available to visitors without needing to log in.

Thanks to chaban, chirlu, cyberskull, cyna, dimpole, hibiscuskazeneko, jeandeaual, kellnerd, lotheric, mfmeulenbelt, murdos, nikki, rdswift, salorock, supersandro2000, v6lur, and all others who submitted patches, reported issues, tested beta version, or contributed to translations!

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


  • [MBS-2436] – “Edit medium” edits don’t link to new recordings
  • [MBS-10209] – Error parsing URL when entering Instagram link on artist’s page
  • [MBS-10223] – ArtistRoles lists don’t use relationship credits
  • [MBS-10329] – URL cleanup breaks Amazon Music URLs
  • [MBS-10576] – Medium merge error messages with links are not properly formatted
  • [MBS-10583] – Event dates displayed twice in event lists
  • [MBS-10586] – Release duplicates tab shows [missing media] when medium format is simply unknown
  • [MBS-10587] – Medium counts broken in Release Duplicates list
  • [MBS-10588] – Medium formats untranslated in Release Duplicates list

New Feature

  • [MBS-3873] – New Report: Release groups with name not matching release’s name
  • [MBS-10331] – Add new URL cleanup/autoselect/sidebar for Amazon Music URLs
  • [MBS-10620] – Add the Discography of American Historical Recordings to the otherdbs whitelist


  • [MBS-4326] – Add “Add discid” edits in release artist(s) editing history
  • [MBS-7678] – Combine display of multiple relationships to the same entity
  • [MBS-9164] – Show edit history (but not edit notes) when not logged in
  • [MBS-10308] – Cleanup maniadb URLs
  • [MBS-10584] – Collapse work artists when there are too many
  • [MBS-10623] – Automatically add US store country-code to iTunes URLs missing it
  • [MBS-10625] – Block even more smart links

React Conversion Task

  • [MBS-9917] – Convert the instrument public pages to React
  • [MBS-10401] – Convert Edit Series edit to React

Picard 2.3 now available

The Picard team is happy to announce that version 2.3 of MusicBrainz Picard is now available for download. MusicBrainz Picard is the official tag editor for the MusicBrainz database and helps you get your music collection sorted and cleaned up with the latest data from MusicBrainz.

This release brings changes across the board, including additions to the user interface, performance improvements, better tag support, improved desktop integration and many more.

Notable changes

User interface

Picard now allows you to customize the columns in the main panel, so you can choose to see additional details about the files you are tagging, such as album artist, composer, catalogue number, genre and more. And while it has always been possible to reorder and resize the displayed columns, Picard will now remember your settings.

Picard's new configurable columns

Editing tags became more comfortable with multi-line editing for comments and lyrics and autocomplete for media, release country, release type and release status and the ability to reorder the values of multi-value tags. For date tags there is an indication of the expected format shown as “YYYY-MM-DD”. You can now also specify which tags you want to have always on top in the tag editor (Options > User Interface > Top Tags).

Easy submission of AcoustID fingerprints

One complaint we often received was about the ability to submit fingerprints to AcoustID. While Picard leverages AcoustID for identifying your files and searching matching recordings, and you can submit the fingerprints for such scanned files if the found match was wrong. But just using Picard to submit fingerprints for your already well tagged files without doing another search and match was not possible. To address this we added a “Generate AcoustID fingerprints” action which allows you to just generate the fingerprints. There is also a new “Fingerprint status” column which will indicate whether a fingerprint was calculated for a file or not. As can be seen above this uses the new configurable column feature. A red fingerprint icon indicates the fingerprint has been calculated. Once you submit the fingerprints the fingerprint icon will turn gray.

Desktop integration

Picard on Windows will now indicate the progress when loading or saving many files in the Windows taskbar.


The same is available on Linux if your desktop environment supports it, e.g. if you are using KDE Plasma or the default Ubuntu desktop.



On macOS Picard is now registered for supported file types. That means you can directly open your music files in Picard using Finder. Furthermore you can also drop files or entire folders directly onto the Picard dock icon.

Performance improvements

We addressed some cases where the Picard user interface became totally unresponsive for a while when clustering files or moving and matching files to releases. This was most notable when working with large releases with several hundred tracks.

Tags and file formats

With custom tags support for MP4 files an often requested feature is now finally available.

There is also new support for raw AC3 files and more details are shown for TAK files. For AC3 and AAC files Picard can save APEv2 tags, which is supported by many other tools, but also can cause problems in others. E.g. players not supporting tags in AC3 and AAC files will often show a wrong duration if there are APEv2 tags present in the file. Hence you can now choose whether to save APEv2 tags to files or not, or even remove existing APEv2 tags for those files.


Few new script functions were added:

  • for strings: $find, $reverse, $substr
  • for multi-value variables: $getmulti, $slice, $join
  • for loops: $foreach, $while, $map
  • for current date and time: $datetime

Complete documentation can be found on Picard website.

Breaking changes

We fixed some scripting functions that are supposed to be used as conditions but behaved differently. This affects $is_complete(), $startswith() and $endswith(). If you use one of these functions in your script please read this forum post on how to update your scripts.


If you are using Windows 10 you can now install Picard from the Windows store and receive future updates automatically.

Picard for Windows is now also available as a portable application, which you can run directly without installation. You can put it in any folder, including putting it on a USB thumb drive, and it will store all its settings and plugins in the folder it is located in.

The Picard installer and portable app are now signed with a certificate issued to the MetaBrainz Foundation. When you run the installer or the portable app for the first time after download Windows will show you a dialog like the following:


Official releases, including beta version and development builds, will show “Metabrainz Foundation Inc.” as the publisher. If it is showing anything else, e.g. “unknown”, this indicates you are not using an official release. Once enough people have trusted the app the above warning will eventually completely go away.

For macOS the Picard app is now also fully compatible with macOS 10.15 Catalina, which means you can run Picard now without security warning.

More changes and bug fixes

Picard 2.3 has many more improvements and fixes. See the full changelog for details on all changes since the last stable Picard 2.2.3.


Picard 2.3 is available for download from the download page as well as from the Windows Store.
English badge

Known issues

On macOS 10.12 Sierra the CD lookup functionality is unavailable. We will address this issue in Picard 2.3.1. See PICARD-1745 for details.

Ensembling: Gamelan MiniVersion!

MiniVersion Gamelan

This was one of the initial Ensembling-version/family/ensemble instrument-type inspiring tickets.
Initially added on September 2017, it was delayed because it required all the sub-tickets for each instrument being created (and I’m lazy!).
Eventually GCI student mathure, with help from GCI finalist TheFaR8, researched and added a lot of the missing sub-ticket instruments. Many, many thanks to both of them!

There are still however many more gamelan instruments not yet added – if you want a particular one, please add a sub-ticket under INST-556!
Likewise there were a couple instruments that we couldn’t add, since they need to wait for MBS-9642 to be implemented and voice types becoming “instruments”, those being:

There’s also at least one more vocal “instrument” that has no ticket yet, but also can’t be added for the same reason: the kecak (a type of chanting). Additionally, alok and senggakan seem like they might also need adding, but I actually have no idea what these are since they only have Wikipedia page in Javanese ︎😅︎


Remember what I said previously about getting rid of metallophone? :​D
hahaha, what a difference in opinion research will bring… ♪;︎
Since the gamelan included so many percussion idiophones (especially metal/tuned ones) it became a natural continuation fix of our previous (clapper tree mini-version).
That meant that we could finally fix up the metallophone/xylophone/lithophone mess under percussion idiophone!
This also included merging tuned percussion into percussion idiophone (“tuned percussion” as an instrument terminology on Wikipedia was deprecated anyway) and sorting out chimes and other related suches.

Stay tuned for कुछ वीणा सम्बन्धित चीजें!

¹ suuper thanks to ’19 GCI student Antara for additional research on this ticket.

Picard 2.3 Release Candidate

Following our recent beta we are today releasing a release candidate for Picard 2.3. Besides a few fixes there have been also a couple of improvements. Most notably Bob Swift has implemented a couple of useful new scripting functions.

Should no blocking issues arise we expect a final release of Picard 2.3 in about a week.


Please see the Github release page for more download options, including the source code.

Helping out

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

Please also help translate Picard. There will be no changes to translatable text before the final release of Picard 2.3, so this is a great chance to ensure Picard is available in your language. 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.

If your 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.

Changes since Picard 2.3 beta 1

Below are the changes in Picard since the last beta release. For a more detailed overview for what is new since Picard 2.2.3 please see our recent beta announcement.


  • [PICARD-1688] – “Submit AcoustIDs” fails with many tracks
  • [PICARD-1719] – $unset marks tag for deletion
  • [PICARD-1724] – Fingerprint status on left should not be submittable (red)
  • [PICARD-1725] – Fingerprint indicator rendering artifacts
  • [PICARD-1726] – Crash when closing options quickly before plugin list got loaded
  • [PICARD-1727] – Performer tag in metadata list is not translated
  • [PICARD-1733] – App does not start on macOS 10.12
  • [PICARD-1736] – “Generate AcoustID Fingerprints” is too long for the toolbar


  • [PICARD-1716] – Add script functions for strings ($find, $reverse, $substr), multi-value variables ($getmulti), and loops ($foreach, $while, $map)
  • [PICARD-1717] – Backup config file on update
  • [PICARD-1720] – Add script function $slice to extract a portion of a multi-value variable
  • [PICARD-1721] – Add script function $join to join the elements of a multi-value variable
  • [PICARD-1723] – Match to album should consider the disc number
  • [PICARD-1729] – Add scripting function $datetime to return the current date and time
  • [PICARD-1737] – Add keyboard shortcut Ctrl+Alt+F for “Generate Fingerprints”
  • [PICARD-1738] – Load a recording URL entered into the search field as standalone recording

Welcoming Paula LeDieu to our board of directors!

Late in 2019, we finally filled our one vacant spot on our board of directors — we had been holding out until we found the right person and we finally have! And then towards the end of the year we all got distracted by holidays and world events and never got around to formally announcing that we have a new addition to our board.

With great pleasure I would like to announce that Paula LeDieu, an amazingly connected person who seems to know everyone, has joined the MetaBrainz Foundation Board of Directors! I first met Paula when I was bootstrapping MusicBrainz and pondering how to setup a foundation for the project — we would continuously bump into each other at various conferences in the world. Paula’s professional history includes a lot organizations that early on shaped the internet, including the BBC, iCommons and Mozilla. Paula’s professional experience and connections will be a great asset to our organization.

Paula lives in Sydney, Australia, stretching our board of directors across 3 continents and far too many time-zones. Thank you for agreeing to join our board of directors and welcome to the team, Paula!

MusicBrainz Server update, 2020-02-04

This release includes a new feature: if you find a mystery MBID (such as “69755ab1-409e-3ad7-902f-3a839042799c”) and you don’t know what it might be for, you can use https://musicbrainz.org/mbid/69755ab1-409e-3ad7-902f-3a839042799c to find out without having to specifically select the entity type. Keep in mind some MBIDs for non-entities (such as packaging types) won’t work with this method!

If you’re a user of our JSON web service and use begin or end area information on artists, please be aware of MBS-10072! Starting with this release, we’re resolving a long-standing bug whereby the mentioned properties have been incorrectly outputted as begin_area and end_area, while search requests correctly outputted them as begin-area and end-area (using hyphens in line with the rest of the format). The interim fix released today is to output both sets of properties for at least 6 months, and then remove the underscored variants from the response. Please update any code you have that accesses begin_area or end_area on artists to use begin-area and end-area instead!

Today’s chunk of React conversion has been made by Cyna, so thanks to him for his dedication! Thanks also to SuperSandro2000 for updating our PostgreSQL collate extension with ICU configuration changes. And finally, thanks to chaban, jesus2099, mfmeulenbelt, roboron, and all others who reported issues or tested beta version or translated today’s release!

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


  • [MBS-10072] – In the JSON WS, artist nodes use begin_area, end_area except search responses which use begin-area, end-area
  • [MBS-10366] – Medium edits removing pregap when disc ID is attached are not rejected
  • [MBS-10579] – Regression: The es-ES and el-GR translations are broken

New Feature

  • [MBS-6539] – Redirect musicbrainz.org/mbid/$mbid to the appropriate entity page


  • [MBS-5460] – Add shift-click multi-(de)select to the release editor’s Recordings tab
  • [MBS-5572] – Add shift-click multi-(de)select to the edit artist ACs
  • [MBS-9477] – Disable Discid tab for releases that can’t have a discid
  • [MBS-10568] – Show number of discIDs on discID tab
  • [MBS-10569] – If no mediums on a release can have discIDs, say so on its discID tab

React Conversion Task

  • [MBS-10390] – Convert Add Place edit to React
  • [MBS-10392] – Convert Add Series edit to React
  • [MBS-10398] – Convert Edit Place edit to React

Other Task

  • [MBS-10322] – Convert fabfile (Fabric 1) to shell scripts (Bash 3)

Upgrading Postgres instead of schema change: 18 May, 2020


We’ve long procrastinated upgrading our production Postgres installation and we’ve decided to forego a schema change upgrade and instead upgrade Postgres to version 12.x. (We will migrate to whatever the latest stable version in the 12.x series will be).

This means that on 18 May we will not make any changes to the MusicBrainz schema, but  we will have some amount of down-time and/or read-only time while we upgrade Postgres on our production servers. We haven’t sorted out all of the exact details of how we will carry out this database upgrade, but the date is now confirmed.

If you operate a replicated instance of the MusicBrainz database we STRONGLY urge you to upgrade your installation shortly after we upgrade the production servers. After this release our team may start using Postgres features not available in Postgres 9.5.x, which is our current production version.

As usual for our releases that impact our downstream users, we will post many more details closer to the date and once the migration is complete, we will post detailed instructions on how you can upgrade your own installation.

Please post any questions you may have!