Official MusicBrainz cross-platform music tagger Picard 1.4 is now out, containing many fixes and new features!
The last time we put out a stable release was more than 2 years ago, so a lot of changes have made it into this new release. If you’re in a hurry and just want to try it out, the downloads are available from the Picard website.
Starting with this release, PostgreSQL 9.5 is now our minimum supported version. In order to import any future data sets, you will need to upgrade your installation to version 9.5.
Due to unforeseen problems with the Live Data Feed (AKA replication), users with slave databases will be required to first import a fresh data dump into their new 9.5 installation. We apologize that this is the case, but even had this stream not been broken, doing a clean import is faster and easier than doing the migration. For details on what happened during this rather lengthy schema change release, stay tuned for a post mortem blog post that covers the details.
If you have a non-replicated standalone database, you can use pg_upgrade and run ./upgrade.sh directly, but for simplicity we strongly recommend importing the latest data dump. Thus, we will only provide instructions for a clean import:
Make sure you have PostgreSQL 9.5 installed, and your database settings in lib/DBDefs.pm are updated to point to the 9.5 installation if you currently have an older version of postgres running. If you already have postgres 9.5 and want to replace the existing database there, you’ll need to drop it first (using dropdb or from within psql). Be careful that you’re not dropping any important data if this is a standalone database that you’ve made changes to.
Take down the web server running MusicBrainz, if you’re running a web server.
Turn off cron jobs if you are automatically updating the database via cron jobs.
Switch to the new code with git fetch origin followed by git checkout v-2016-05-23-schema-change-v2
Run cpanm --installdeps --notest . to ensure your perl-based dependencies are up to date. Note the dot at the end.
Set DB_SCHEMA_SEQUENCE to 23 in lib/DBDefs.pm
Download the latest data dumps. If you don’t need historical edit data, excluding the edit dump will speed up your import significantly.
Initialize a new database from the data dumps downloaded in step 7. Detailed instructions for doing this are located in INSTALL.md in the musicbrainz-server repository; if your data dumps are in /tmp, the command should simply be something like ./admin/InitDb.pl --createdb --import /tmp/mbdump*.tar.bz2.
After the import has finished, turn cron jobs back on, if applicable.
Restart the MusicBrainz web server, as well as memcached, if applicable.
We would like to thank bitmap, Gentlecat, zas, chirlu, reosarevok, gcilou for contributing directly to the release and we’d also like to thank all of the people who helped test, debug or otherwise offer support in this quite difficult release. Thank you!
And finally, here’s the list of changes you can expect in the upgrade:
Since we’re total slackers, we still haven’t set up our backup database server since it suffered a hardware failure. This means that we won’t be able to put the site into read-only mode and will require us to do a full downtime. Hopefully for our next schema change we’ll have tackled our backlog of sysadmin duties and will have a backup DB server to make the release easier.
Sorry for any trouble this may cause you.
P.S. Look for another blog post on Sunday for details on where to get your access tokens for the Live Data Feed.
Picard 1.3.2 is now available on the Picard download page. This again is only a small maintenance release which mainly updates the OS X build to fix crashes some users experienced with Picard 1.3.1. Here is the complete list of fixes:
[PICARD-681] Fixed tags from filename dialog not opening on new installations
Version 1.3 of Picard has been released today, with some notable features and bug fixes.
This release has few visible changes, but overall performance and stability were much improved. A lot of minor annoying issues were fixed. Cover art code was reworked, and notably one can now enable fallback on release group cover art if no cover art exists for a specific release.
Logging was improved, user can now enable debug mode from About →View Error/Debug Log, it may help to see what is going on if needed, passwords and sensible information were hidden from the log, so user can now safely post his log to get help.
To report any issue concerning this release, please use our bug tracker. As usual you can also get help on forum or on IRC (freenode, #musicbrainz).
Special thanks to Sophist, Wieland Hoffmann, Michael Wiencek, Johannes Dewender, Lukáš Lalinský, Frederik “Freso” S. Olesen, and the whole MusicBrainz Team.
Many thanks to all users, developers, bug reporters and translators. Code contributions since 1.2 are visible on Github Contributors graph.
Unfortunately the OAuth support patch (PICARD-305) didn’t make it in this release.
Be aware that downgrading from 1.3 to 1.2 may lead to configuration compatibility issues, better save your configuration before installing 1.3 if you intent to go back to 1.2.
Among changes since 1.2:
The “About” window now displays the versions of libraries used by Picard
Picard now correctly handles matching of MP3 files saved in ID3v2.3 tags (which is the version that Microsoft Windows and iTunes both use).
Note: You may need to re-save your tags once to get them to match in future.
A sort tags plugin is now provided as tag data is no longer displayed sorted by default.
A new tag, musicbrainz_releasetrackid, containing the MusicBrainz Track MBID introduced in the May 2013 schema change release, is now written to files.
A new advanced option is available to permanently set the starting directory for the file browser and “Add files/folder” buttons.
Requests to Musicbrainz against your own account e.g. for collections are now handled through SSL (PICARD-337)
Refresh of Albums using Ctrl-R and selection of Other Releases are now more responsive during batch lookups.
Main window is now emitting a “selection_updated” signal, plugin api version bumps to 1.3.0
Append system information to user-agent string
Compilation tag/variable functionality (for tagging & file naming) has been split into two:
– %compilation% is now aligned with iTunes, and set only for Various Artists type compilations
– %_multiartist% variable now indicates whether this release has tracks by multiple artists
(in order to prepend the artist name to the filename as shown in the default file naming script)
Ignore directories and files while indexing when show_hidden_files option is set to False (PICARD-528)
Add ignore_regex option which allows one to ignore matching paths, can be set in Options → Advanced (PICARD-528)
Added an “artists” multi-value tag to track metadata, based on the one in Jaikoz, which contains the individual artist names from the artist credit. Also useful in scripts (joining phrases like ‘feat:’ are omitted) and plugins.
Added “_artists_sort“, “_albumartists“, “_albumartists_sort” variables for scripts and plugins.
Made Picard use the country names also used on the MusicBrainz website (PICARD-205)
New setup.py command `get_po_files` (Retrieve po files from transifex)
New setup.py command `regen_pot_file` (Regenerate po/picard.pot)
New Work tag (which for Classical music is often different from the track title) saved as ID3 TOAL tag.
New Composer Sort Order tag (variable %composersort%).
Improve the Other Releases list to prioritise and separate releases which match the correct number of tracks and your Options → Metadata → Prefered Releases settings for Country and Format.
New %_absolutetracknumber% variable numbering tracks sequentially regardless of disc structure (so you can numbers tracks on multi-disc releases without a disc number)
Support dropping image directly from Google image results to cover art box
Add %_musicbrainz_tracknumber% to hold track # as shown on MusicBrainz release web-page e.g. vinyl/cassette style A1, A2, B1, B2
Show the ID3 version of the file in the Info… dialog (Ctrl-I) (PICARD-218)
Fixed a bug where Picard crashed if a MP3 file had malformed TRCK or TPOS tags (PICARD-112)
Add –files option to setup.py build_ui, used to force .ui to .py regeneration (PICARD-566)
New setup.py command `update_constants` (Regenerate countries.py and attributes.py)
Made Picard use release groups, medium formats and cover art types also used on the MusicBrainz website
Use MusicBrainz Server translations for release groups, medium formats and cover art types
Add checkbox to toggle debug at runtime in log/debug view dialog
Add a plugin to add Artist Official Homepage relationships to the website tag (ID3 WOAR tag)
Add integrated functions $eq_any, $ne_all, $eq_all, $ne_any, $swapprefix and $delprefix.
Add %_performance_attributes%, containing performance attributes for the work e.g. live, cover, medley etc.
Use $inmulti in file naming scripts i.e. …$if($inmulti(%_performance_attributes%,medley), (Medley),)
Add optional `priority` parameter to `register_album_metadata_processor()` and `register_track_metadata_processor()`
Default priority is `PluginPriority.NORMAL`, plugins registered with `PluginPriority.HIGH` will be run first, plugins registered with `PluginPriority.LOW` will run last
Add Standardise Performers plugin to convert e.g. Performer [piano and guitar] into
Performer [piano] and Performer [guitar].
Exact release date is not yet known, and features aren’t yet frozen, but the only important change we’ll try to get in before final release is OAuth support (PICARD-305), we still accept minor patches until feature freeze is announced.
Since Picard is now using some translation resources from MusicBrainz project, translators should make sure following resources are up-to-date: