Picard 2.4 released

The Picard team is happy to announce that version 2.4 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 releases brings significant performance improvements, improved documentation, new features and many bugfixes.

What’s new?

Better performance and responsiveness

Picard 2.4 features heavily improved performance and responsiveness of the user interface when loading or saving a large amount of files.

Improved online documentation

There is a completely new User Guide for MusicBrainz Picard, which replaces the documentation previously available on the Picard website. This documentation is much more complete and easier to update and maintain.

We are also looking for contributors who help to improve the documentation. If you have some ideas for improvements have a look at the Picard Docs project on GitHub.

Support for tagging WAVE and DSDIFF

Picard now finally supports writing tags to WAVE files. This was previously not possible, as there is lack of a proper standard to tagging WAVE files. Now Picard will allow you to write ID3v2 tags to WAVE files. As this is not supported by all players and tagging tools, Picard can optionally fall back to writing RIFF INFO tags to the files. Just be aware that RIFF INFO is very limited in regards to tags available and support for non latin character sets.

As a new file format Picard now supports DSDIFF (also known by their file extension as DFF) files. These can be loaded and saved using ID3v2. Similar to WAVE there is no standard way for tagging DSDIFF files, but many playback tools which support DSDIFF also support the ID3v2 tags.

Script auto completion and inline documentation

The script editors in the options dialogue (both for file naming and metadata scripts) now support auto completion for function and variable names. In addition there is a new script documentation dialogue, which shows the documentation for all scripting functions without the need to open the online documentation in your browser.

Dark mode support for Windows 10

On Windows 10 Picard now respects your settings for the Windows dark mode. If enabled, Picard will use a dark color theme and optimized syntax highlighting. This work also allows us to further improve Picard for dark themes on other platforms in the future.

Updated translations

With this release a lot of translatable text has been added to Picard, and many translations have been updated.

But not all translations are completed and we always need help maintaining the translations for Picard. Translating is easy and can be done online: Head over to MusicBrainz’s translation page on Transifex and click on “Help Translate MusicBrainz”. Any changes to the translations will be included in the next release.

More changes and bugfixes

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

Download

Picard 2.4 is available for download from the download page. For Windows 10 users installing from the Windows Store an update will come automatically as soon as the new release has been approved by Microsoft.

Acknowledgements

This release contains code changes by Gabriel Ferreira, Laurent Monin, Bob Swift, Philipp Wolfer, RaysDev, Wieland Hoffmann and new contributors Adam James, jcaesar and elvquant.

Special thanks go to Gabriel Ferreira for his excellent work in profiling and improving Picard performance and to Bob Swift, who completely overhauled Picard’s documentation, making it much more complete then it ever has been, and to all the translators who updated their language translations on Transifex.

Picard 2.4 Beta 2

Following the first Picard 2.4 beta we have released Picard 2.4 beta 2 to address a couple of reported issues. Thanks a lot to everyone who tested the last beta and reported issues. The following bugs have been fixed in beta 2:

  • [PICARD-1864] – Adding single files does ignore existing MBIDs
  • [PICARD-1866] – Coverart pane does not update during / after saving files
  • [PICARD-1867] – Guess format fallback is broken
  • [PICARD-1868] – CAA type selection dialog does not translate “Unknown”

See our previous blog post about Picard 2.4 beta 1 for the changes since the last stable release.

Picard 2.4 beta 2 is available for download from the download page.

Please report bugs on the Picard issue tracker and provide feedback in the community forums.

Please also help translate Picard. There have been many changes to the user interface and existing translations need to be updated for the final 2.4 release. 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.

Picard 2.4 Beta 1

Picard 2.4 Beta 1 is now available. There have been some important changes and we would like to gather feedback with this beta release before releasing the final Picard 2.4.

This release contains code changes by Gabriel Ferreira, Laurent Monin, Bob Swift, Philipp Wolfer, RaysDev, Wieland Hoffmann and new contributors Adam James and jcaesar.

Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback.

What’s new?

The most notable change in this release are significant performance improvements when handling large amount of files thanks to the excellent work of Gabriel Ferreira.

We would also like to get some feedback on the new scripting auto completion feature and the scripting documentation provided directly inside Picard. Windows 10 users can also try Picard’s new support for Windows 10 dark mode.

Here is the full list of changes:

Bugfixes

  • [PICARD-1753] – Fix font size of script editor and log view on Windows
  • [PICARD-1807] – Wrong error handling when using python-libdiscid
  • [PICARD-1813] – $title function throws error on empty value
  • [PICARD-1820] – PLUGIN_VERSION no longer displayed correctly in plugins dialog
  • [PICARD-1823] – Genre tag ordering is non-deterministic
  • [PICARD-1826] – “no appropriate stream found” when saving .ogg (OPUS) file
  • [PICARD-1838] – Files with a .dff file extension are interpreted as DSF files and fail to load
  • [PICARD-1853] – Crash if tags contain null character
  • [PICARD-1855] – Relationships not tagged for non-album track
  • [PICARD-1859] – “ValueError: Invalid literal” followed by crash when opening certain files

New Features

  • [PICARD-1704] – Support Windows 10 dark mode
  • [PICARD-1797] – Autocompletion for script functions and variables
  • [PICARD-1798] – Add support for inline translatable script documentation

Improvements

  • [PICARD-824] – Expand all option submenus by default
  • [PICARD-920] – Remember selected options page
  • [PICARD-1117] – Instrumental recordings of a work should set language to “No lyrics”
  • [PICARD-1796] – Consider release date when matching files to releases
  • [PICARD-1805] – Make it easier to add the first script
  • [PICARD-1818] – Make PyQt5.QtDBus optional
  • [PICARD-1829] – Add support for disc numbers in cluster Info dialog tracklists
  • [PICARD-1831] – Mitigate performance impacts of file selection and UI updates during processing
  • [PICARD-1840] – Instrumental recordings of a work should drop the lyricist credit
  • [PICARD-1842] – AIFF and DSF: Add support for albumsort, artistsort, titlesort and discsubtitle
  • [PICARD-1843] – Improve load and clustering performance
  • [PICARD-1844] – Further improve loading and clustering performance
  • [PICARD-1845] – Add “lookup in browser” for musicbrainz_discid tag in metadata view
  • [PICARD-1846] – Metadata.unset should not raise KeyError
  • [PICARD-1847] – Restructure tag compatibility options
  • [PICARD-1852] – Make about a separate dialog
  • [PICARD-1854] – Improve sorting performance in main window
  • [PICARD-1856] – Use pgettext function in Python 3.8

Download

Picard 2.4 beta 1 is available for download from the download page.

Helping out

The easiest way to help us getting a great Picard 2.4 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 have been many changes to the user interface and existing translations need to be updated for the final 2.4 release. 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 you 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.

PostgreSQL 12 Upgrade Instructions for MusicBrainz Server

Thanks to everyone for your patience during our downtime today. As promised, here are steps to follow to upgrade your own PG instance to v12. (Confused? See the previous blog post on this subject.)

If you’re already running v12, there are still some instructions you must follow!

For MusicBrainz Docker

If you’re running the new MusicBrainz Docker setup, an upgrade script exists for you to use. See the release notes for specific – hopefully brief – instructions.

For a Manual Setup (INSTALL.md Based)

If you aren’t using Docker but rather set up musicbrainz-server by hand following INSTALL.md, see the steps below.

Know that as an alternative, you can always import new data dumps from scratch (again following the steps in INSTALL.md) into a new PG 12 cluster. Just make sure you’re on the v-2020-05-18-postgres12 tag of musicbrainz-server while doing so.

If on the other hand you don’t mind getting your hands a bit dirty, you can use the quicker method below. Like INSTALL.md, this assumes you’re using Ubuntu/Debian and their postgresql-common cluster management tools.

If you’re already running v12, you should still follow these steps; however, you can skip the ones involving apt-get, pg_dropcluster, and pg_upgradecluster. The main steps you need to follow in this case are running the 20200518-pg12-before-upgrade.sql and 20200518-pg12-after-upgrade.sql scripts in that order.

On distros other than Debian/Ubuntu where the postgresql-common tools aren’t available, you’ll have to manage with initdb and pg_upgrade on your own.

  1. First take down the web server running MusicBrainz (stop plackup) to prevent database access.
  2. Turn off any cron jobs updating or accessing the database (e.g. for the live data feed/replication packets).
  3. Switch to the latest musicbrainz-server code with:
    git fetch origin && \
    git checkout v-2020-05-18-postgres12
  4. With PG 9.5 (or whatever version you’re using) still running, run the following “pre-upgrade” script:
    psql -U postgres -d musicbrainz_db \
    -f admin/sql/updates/20200518-pg12-before-upgrade.sql

    This assumes that “postgres” is the name of your PG superuser, and “musicbrainz_db” is the name of your database. If you see a few messages about things not existing, that’s normal.

  5. Install packages for PostgreSQL 12. On Ubuntu/Debian you can obtain them from the PGDG apt repo.
    apt-get update && \
    apt-get install postgresql-12 postgresql-server-dev-12

    If you’re installing postgresql-12 for the first time, this will automatically create a new cluster at /var/lib/postgresql/12/main. Remove that empty cluster. Don’t run this if you already had v12 installed and have data there!

    pg_dropcluster --stop 12 main
    If you did already have v12 installed with musicbrainz_db running there, leave the cluster alone and skip the next step involving pg_upgradecluster.

    In the unlikely event that you already have a v12 cluster, but also have musicbrainz_db running in a separate, older cluster, these instructions won’t work for you. We recommend importing fresh data dumps into the v12 cluster and dropping the old one.

  6. Upgrade the old cluster. This assumes it’s version 9.5; if you’re using version 10 or 11, make sure to replace 9.5 below with 10 or 11. If you have other databases in your old cluster besides musicbrainz_db, be aware that this will upgrade all of them to PG 12.
     pg_upgradecluster -v 12 9.5 main
  7. If all goes well, the new cluster should be up and running. (You can drop the old one if you like; the output of the pg_upgradecluster command will tell you how.) Now run the following “post-upgrade” script on the database:
    psql -U postgres -d musicbrainz_db -f \
    admin/sql/updates/20200518-pg12-after-upgrade.sql
    This may take a bit, as it has to recreate some indexes.
  8. The upgrade is complete. You can turn cron jobs back on, if applicable.
  9. Restart the MusicBrainz web server / plackup, if applicable. If you’re accessing the server in a web browser, the usual release upgrade steps apply, like running ./script/compile_resources.sh again.

If you run into any trouble following the above, please let us know and we’ll try to help resolve your issue as soon as possible!

MusicBrainz Docker composes with Solr 7

The MusicBrainz virtual machine is dead, long live the MusicBrainz Docker Compose project. In fact, the virtual machine has been running it for years. Mostly because the data loaded with the virtual machine was too soon obsolete, it doesn’t seem worth it anymore. Plus, new search indexes are much larger than before, and using Docker Compose directly is much more versatile.

The MusicBrainz Docker Compose project has been deeply revamped since two years ago and now ships the new search server based on Solr 7. It can be used for mirroring the MusicBrainz website and database, testing your own app with a local MusicBrainz web service, or developing the MusicBrainz Server itself. Check out the release notes!

Thanks to everyone who reported issues and contributed patches for two years!

Picard 2.3.2 released

Picard 2.3.2 has been released and is available for download. This is mainly a bug-fix release with few minor improvements, see below for a full list of changes.

This release contains code changes by zas, rdswift, outsidecontext, RaysDev and new contributors Undearius and Gabrielcarvfer, who also is working on some interesting changes regarding UI responsiveness.
Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback.

Download

Picard 2.3.2 is available for download from the download page.

Changes

Below is a list of all changes since Picard 2.3.1. If you are upgrading from an older version you might want to read previous release post.

Breaking change:

$find script function now returns “” rather than -1 on not found, for the sake of consistency. You may want to review your scripts.

Notable improvements:

Picard was trying to guess the file format based on file content. This was very IO expensive and in many cases not needed. So we decided to change the logic to:

  • Try guessing the format by file extension first
  • If no extension or no matching file extension is available, guess by file content
  • If format was guessed by extension and loading the file with mutagen fails with an exception, retry with guessing by file content. Retry loading if the newly guessed format is different from the format guessed by extension.

Also notable, On Windows 10, support for fractional scaling was implemented.

The complete list of changes is the following:

Bug

  • [PICARD-1775] – $firstwords function doesn’t catch IndexError
  • [PICARD-1776] – $datetime crashes when invalid format specified
  • [PICARD-1781] – Have $find return “” rather than “-1” on not found
  • [PICARD-1783] – Deleting performer, comment or lyrics tag fails for some cases in ID3, Vorbis, MP4 and Apev2 tags
  • [PICARD-1784] – Host not found error when downloading PDF artwork
  • [PICARD-1785] – $delete(_id3:TXXX:foo) does not delete the ID3 frames
  • [PICARD-1786] – Deleting tag stored in ID3 TIPL frame only removes first occurrence
  • [PICARD-1787] – Deleting case-insensitive TXXX frames does not delete anything
  • [PICARD-1788] – Saving ID3 tags marked as case-insensitive causes duplicated TXXX frames
  • [PICARD-1790] – Crash when selecting plugin that can be updated
  • [PICARD-1791] – Network access is disabled error under VPN service
  • [PICARD-1795] – iTunes tags not removable (reappear after being deleted)
  • [PICARD-1801] – List index out of range when saving Vorbis file
  • [PICARD-1803] – Instrument EWI is rewritten “e w i”

Improvement

  • [PICARD-1777] – Support fractional scaling on Windows 10
  • [PICARD-1800] – Simplify Unicode ‘Bullet’ to ASCII ‘Hyphen-minus’
  • [PICARD-1809] – Optimize format detection logic

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.

Download

Picard 2.3.1 is available for download from the download page.

Changes

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.

Bug

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

Improvement

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

 

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.

picard-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.

picard-plasma-taskbar

picard-ubuntu-dock

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.

Scripting

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.

Packaging

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:

windows-smartscreen

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.

Download

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.

Download

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.

Bug-fix

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

Improvement

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