The Picard Team is proud to announce the release of MusicBrainz Picard 2.2. This version provides a number of new features and bug fixes. Some of the highlights are:
Files can be moved to sub folders without renaming the actual file (see below for details).
Colors used for highlighting changes in files and metadata can now be configured in options.
A new integrated media player toolbar. This feature is considered beta and is disabled by default, but you can enable the toolbar in the menu with View > Player. Please note that the file formats supported by the player depend on your operating system.
New plugin hooks which trigger when a file was added to a release, a file was removed from a release, a file was saved and a file was loaded.
Improved support for dropping cover art images directly from Google and Bing image search results.
Support for ReplayGain 2.0 tags.
There are a few potentially backward incompatible changes.
Amazon cover art moved to plugin: If you have been using the Amazon cover art you will need to install the Amazon Cover Art plugin in Options > Plugins. The functionality remains the same, we just moved it to a plugin.
Moving files without renaming creates folder structure: Previously Picard would just drop all files into the selected target folder if “Move files” was enabled but “Rename files” was disabled. This was not very useful. Now Picard will generate the folder hierarchy according to your script.
If you want to retain the old functionality use a renaming script that does not generate any folder hierarchy (no slash or backslash characters in the script).
The minimum supported macOS version is now macOS Sierra (10.12) or higher. If you are using macOS 10.10 or 10.11 you can continue using Picard 2.1.3.
Picard 2.2 is available for download on the
Thanks to everybody who contributed to this release with code, translations, testing, bug reports and general feedback. This is much appreciated and we are always happy to see new contributors.
Here is the full changelog:
PICARD-456] – “Delete empty directories” should not delete special folders such as the desktop [
PICARD-571] – Scripting and renaming font on macOS and Windows not monospace [
PICARD-622] – File Browser resets horizontal scrolling on selection change [
PICARD-765] – Refreshing a release reloads the CAA index.json file from cache, even if it changed online [
PICARD-1025] – An empty destination directory prevents the options from being saved, but doesn’t show an error [
PICARD-1090] – Match quality indicators are blurry [
PICARD-1282] – ⌘W does not close Preferences window [
PICARD-1284] – Can’t quit with preferences open [
PICARD-1446] – Expand/collapse indicator for the release is briefly missing [
PICARD-1483] – Can’t submit fingerprints to non-album recordings [
PICARD-1489] – Crash on start when loading python-discid without libdiscid being available [
PICARD-1490] – Local cover art provider fails on Windows [
PICARD-1491] – Version check when loading Picard plugins too strict [
PICARD-1492] – Can’t save rated tracks when it’s a FLAC file (when Metadata/Ratings is active) [
PICARD-1493] – Crash on pre 1.0 config upgrade [
PICARD-1497] – Saving fails when setting tags with invalid names for the underlying tagging format [
PICARD-1499] – Picard loads embedded cover art with ID3 type “other” as sticker [
PICARD-1501] – Double click in a cover opens it in web browser instead of an image viewer [
PICARD-1503] – Scanning CDROM uses path containing ampersand (&) [
PICARD-1516] – Picard fails to load MP4 without tags [
PICARD-1517] – Functions matchedtracks and is_complete throw exception when run on cluster [
PICARD-1522] – Crash when removing NAT recordings [
PICARD-1527] – Can’t resize options window in 2.1.x (Mac) [
PICARD-1529] – NAT tracks get assigned wrong cover art [
PICARD-1533] – Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created [
PICARD-1541] – Closing log views destroys widgets [
PICARD-1543] – v2.1.3 crashes when selecting Preferences in the Apple menu 10.14.5 [
PICARD-1547] – Picard doesn’t warn about not updating .wav metadata [
PICARD-1549] – Source distributions are broken on Windows [
PICARD-1551] – “compare_to_track” method considers “score” parameter only if track has releases [
PICARD-1556] – Default File Naming Script produces “00” track number in file name. [
PICARD-1558] – Setting rating on a track does not apply to already matched files [
PICARD-1566] – Cannot drag misidentified song back to the left pane [
PICARD-1567] – Parsing track number from file name modifies original title in metadata [
PICARD-1571] – On macOS multiple option dialogs can be opened [
PICARD-1573] – Crash when loading release with a tag that contains only whitespace. [
PICARD-1575] – Can’t drag and drop a picture from the Google Picture Result Page to Picard. [
PICARD-1580] – Crash when closing options window on “Preferred Releases” page [
PICARD-1582] – “Allow selection of multiple directories” has no effect on Linux with Gtk file chooser [
PICARD-1584] – Crash when disabling script function providing plugin [
PICARD-1585] – On macOS restore default options dialog opens in background [
PICARD-1588] – Metadata box shows tags unsupported by format [
PICARD-1591] – Error when loading Vorbis file with invalid metadata_block_picture [
PICARD-1593] – Picard crashes on plugin install error [
PICARD-1595] – Cursor in tag edit box always jumps to end on input [
PICARD-1598] – Metadata box hidden when album gets updated [
PICARD-1601] – PyPI source tarball misses some test data New Feature
PICARD-143] – Add a plugin hook for a file-added-to-a-track event [
PICARD-1130] – Post save plugins [
PICARD-1488] – Built-in media player (beta feature) [
PICARD-1510] – Add a plugin hook for a file-removed-from-a-track event [
PICARD-1512] – Add a plugin hook for an album-removed event [
PICARD-1514] – Replace genre / folksonomy tag blacklist with more comprehensive list [
PICARD-1524] – Replace hardcoded colors by user-configurable ones [
PICARD-1560] – Add a plugin hook for a file loaded event [
PICARD-1594] – Provide $is_video() / $is_audio scripting functions Task
PICARD-1353] – Update Travis CI to use newer Xcode [
PICARD-1388] – Document how to uninstall local built version of picard from CLI [
PICARD-1561] – test_file.TestPreserveTimes fails on macOS 10.14 [
PICARD-1563] – Add ‘picard.egg-info’ file to .gitignore Improvement
PICARD-1235] – Picard is not responding during start while CD is being inserted [
PICARD-1361] – Add “Launch Picard” to Windows installer [
PICARD-1400] – Remove Amazon cover art provider from Picard and place it into a plugin [
PICARD-1468] – Localize Windows installer [
PICARD-1485] – Picard should show the hours of long tracks [
PICARD-1494] – Use Python3.3+ nano seconds resolution stat()/utime() to preserve times on file save [
PICARD-1496] – Display count of Other versions available once known in album’s contextual menu [
PICARD-1502] – qApp.setDesktopFileName (wayland app_ip) [
PICARD-1525] – Log/History views are updated even if not actually visible [
PICARD-1546] – Display in Others submenu is messy for albums with a lot of tracks [
PICARD-1552] – “compare_to_release_parts” considers track count of only first medium [
PICARD-1559] – Allow moving files to subfolders without renaming [
PICARD-1564] – Picard code for parsing response from AcoustID servers ignores tracks [
PICARD-1576] – Open option help context sensitive [
PICARD-1578] – Allow dragging images from Bing image search result [
PICARD-1579] – Dragging cover art from Google image search on Linux drops just preview image [
PICARD-1581] – “Recursively add files and folders” is very technical and hard to understand [
PICARD-1586] – Support for ReplayGain 2.0 tags [
PICARD-1599] – Use fpcalc json output for more robust output parsing
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
[ 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
Anirudh Jain (Cyna on IRC), an undergraduate student at Bharati Vidyapeeth’s College of Engineering, New Delhi, India. I’ve been working on the MusicBrainz project of the MetaBrainz Foundation as a participant in Google Summer of Code 2019. This year marks the beginning of me as an Open Source developer. My work during the GSoC 2019 period can be found in my “temp” branch in my musicbrainz-server clone. The changes there will slowly get merged into the “cyna-gsoc” branch in the main musicbrainz-server repository on GitHub as they’re reviewed. About the Project
Continue reading “GSOC 2019: Add Edit Previews to Non‐Release Entities in MusicBrainz”
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
[ 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
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.
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
[ 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
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
[ 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
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
[ 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