Version 2.3.2
Bugfixes
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"
Improvements
PICARD-1777 - Support fractional scaling on Windows 10
PICARD-1800 - Simplify Unicode 'Bullet' to ASCII 'Hyphen-minus'
PICARD-1809 - Optimize format detection logic
# Version 2.3.1 - 2020-02-27
## Bug-fix
- [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]` 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]
- [PICARD-1759] - Make editing tags in top tags list more intuitive
- [PICARD-1771] - Completely ignore release types set to zero in preferred releases
# Version 2.3 - 2020-02-17
## Bug-fix
- [PICARD-1739] - Update check does not handle alpha, beta and rc versions properly
- [PICARD-1744] - Invalid ignore path regex can crash Picard
## Improvement
- [PICARD-1740] - Save originalfilename to ASF tags
# Version 2.3.0rc1 - 2020-02-11
## Bug-fix
- [PICARD-1688] - "Submit AcoustIDs" fails with many tracks
- [PICARD-1719] - `$unset` marks tag for deletion
- [PICARD-1724]
- [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]
- [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
# Version 2.3.0b1 - 2020-01-30
## Bug-fix
- [PICARD-239] in tagger script
- [PICARD-965] - Items in tagger scripts list are squished
- [PICARD-1054] - Picard swallows values of Qt command line arguments
- [PICARD-1218] - Script names aren't truncated properly
- [PICARD-1312] - Hotkeys for buttons do not work on macOS
- [PICARD-1565] - Picard ignores results in Acoust ID web service response
- [PICARD-1592] - APEv2: Read tags case insensitive
- [PICARD-1625] - UI unresponsive while matching files to release
- [PICARD-1626] - Locales in Options > Metadata are not translated and not sorted
- [PICARD-1629] - Duration for AAC files with APEv2 tags is wrong
- [PICARD-1658] - macOS: System wide libdiscid is used instead of the bundled one
- [PICARD-1662] embedded images
- [PICARD-1664] - Cluster lookup does not use preferred release types
- [PICARD-1667] - Some scripting functions are always true
- [PICARD-1668] - Read fails if mp4 file has "disk" tag set but empty
- [PICARD-1675] - Allow disabling auto update for Windows builds
- [PICARD-1678] - Picard crashes if result from search server contains non-integer scores
- [PICARD-1693] - Position and size of log view and activity history are not preserved
- [PICARD-1699] - On scan asking the user to enable the fingerprinting does always abort the scan
- [PICARD-1700] - Crash with PyQt5 when opening cover art context menu
- [PICARD-1709]
- [PICARD-1711] - Cannot delete lyrics from ASF, ID3, MP4 and APE files
## New Feature
- [PICARD-34] - Add a fingerprint indicator
- [PICARD-118] - Windows: Provide a portable Picard version
- [PICARD-125] - Support for AC3
- [PICARD-170] - Allow selecting displayed columns
- [PICARD-714] - Allow user to reorder fields in the lower pane
- [PICARD-991] - Allow calculating AcoustID fingerprints for matched recordings
- [PICARD-1098] - MP4: Support custom tags
- [PICARD-1521]" ID3 tag
- [PICARD-1656] - Allow setting cover art for clusters
- [PICARD-1673] - Show progress in Windows taskbar
- [PICARD-1674] - Show progress in Linux docks / taskbar supporting the Unity.LauncherEntry DBus interface
- [PICARD-1677] - Option to ignore tags for file changed status
- [PICARD-1684] - Allow re-ordering multi-value tags
## Improvement
- [PICARD-115] - Display 'YYYY', 'MM' and 'DD' in date input field when value not available
- [PICARD-321] - Backslash support in filenames if Windows compatibility is disabled
- [PICARD-1260] - Sort entries in Clusters more "naturally"
- [PICARD-1349]
- [PICARD-1401] - CD Lookup dialog does not make it clear how to submit a disc ID
- [PICARD-1402] - macOS: Register for supported file types to open with Finder or drag and drop on dock icon
- [PICARD-1467] - Provide signed Windows installer
- [PICARD-1523] - Make Picard case-agnostic for "Preserve tags from being cleared"
- [PICARD-1589]
- [PICARD-1628] - Make APEv2 tags with AAC optional
- [PICARD-1631] - Notarize macOS app
- [PICARD-1646] - Respect preferred release types when scanning tracks
- [PICARD-1650] - Select / load multiple items from search results
- [PICARD-1652]
- [PICARD-1659] - Natural sorting for search results
- [PICARD-1661] - Improve preserved tags autocomplete
- [PICARD-1665] - Disable uninstall for globally installed plugins
- [PICARD-1666] - Consider video / audio when comparing files to tracks
- [PICARD-1671] - Rework Options > Tags page
- [PICARD-1672]
- [PICARD-1680] - Select / load multiple items from CD lookup results
- [PICARD-1682] - Multiline editing for lyrics and comments
- [PICARD-1683] - Autocompletion when editing media, releasetype, releasecountry and releasestatus tags
- [PICARD-1686] - Always keep [non-album tracks] entry on top
- [PICARD-1692] - Change sliders to jump to clicked position
- [PICARD-1695] - Make script editor UI consistent with other option pages
- [PICARD-1712] - Use Ctrl+D as keyboard shortcut to remove albums or files
- [PICARD-1714] - Focus search input with Ctrl+F
- [PICARD-1715] - Allow changing file extension by manipulating the %_extension% variable in renaming script
## Task
- [PICARD-1406] - Refactor Metadata.set and metadata.__setitem__
- [PICARD-1465] - Add Picard to Windows Store
- [PICARD-1596] - Automate PyPI deployment
- [PICARD-1653] - macOS: Enable Hardened Runtime
- [PICARD-1669] - Build Windows 10 MSIX app package
- [PICARD-1703] - Upgrade to PyInstaller 3.6
changes:
-bugfixes
-Support the new pregap and data tracks
-Set the originalyear tag when loading a release
-Web service calls to ports 80 and 443 do not need explicit port
specification. 443 should be automatically made https
Version 1.3 - 2014-10-20
* 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.
* Add %_recordingtitle% (PICARD-515)
* Fix plugin install bugs (PICARD-444)
* Fix Options / File naming examples to handle primary/secondary
release types (PICARD-516)
* 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)
* autodetect the CD drive on Mac OS X (PICARD-123)
* 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].
* Add support for release group cover art fallback (PICARD-418, PICARD-53)
* Add a clear button to search box
* Honour preferred release formats when matching AcoustIds (PICARD-631)
* Prevent ZeroDivisionError in some rare cases (PICARD-630)
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
while here,
* convert some needless buildlink3 to simple DEPENDS.
* distutils pkg, register egg-info.
Version 0.16 - 2011-10-23
* Added AcoustID support.
* Fixed track metadata plugins.
* Added new internal %_totalalbumtracks% tag field. (PICARD-16)
* Track metadata plugins now run also on non-album tracks. (PICARD-7)
* Fixed custom Various Artists name on the %albumartist% field. (PICARD-5)
* Album artist is now correctly "translated". (PICARD-1)
* Unicode punctuation is now converted to ASCII by default.
* WavPack correction files are moved together with the main files. (PICARD-15)
* Unicode filename normalization on OS X.
* Original release date is now saved into %originaldate%.
* Allow tagging with localized artist aliases (PICARD-17)
* Added a quit confirmation dialog. (PICARD-46)
* Standalone recordings can be tagged with relationships now. (PICARD-10)
* Refreshing an album will refresh its "other versions" listing. (PICARD-8)
* "Unicode punctuation to ASCII" now works on album-level metadata. (PICARD-50)
* DJ-mix tags should only be written to the medium where they apply. (PICARD-20)
* Support URL redirects in web service/network request module (PICARD-54)
* Jamendo and Archive.org cover art is displayed on web page, but not loaded by Picard plugin (PICARD-52)
* Edits to metadata in "Details..." menu not reflected in UI (PICARD-13)
* The status bar/new metadata box is updated when a selected file/track is changed. (PICARD-14)
Upstream changelog:
Version 0.15.1 - 2011-07-31
* "Other versions" menu now displays release labels and catalog numbers.
* Added CD-R, 8cm CD to the format mapping.
* Picard no longer fails to load releases with new or unknown media formats.
* Fixed album metadata processor plugins not working (#5960)
* Fixed requests stopping at midnight (#5963)
* Stopped using QDateTime for timing requests (for Qt 4.6 compatibility) (#5967)
* Fixed display of ampersands in the "other versions" menu. (#5969)
* Fixed use of numerical functions in advanced scripting.
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).
* 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.
Version 0.15beta1 - 2011-05-29
* Support for the NGS web service
Upstream changes:
Version 0.14 - 2011-05-15
* Fixed a problem with network operations hanging after a network error
(#5794, #5884)
* ID3v2.3 with UTF-16 is now the default ID3 version
* Option to set preferred release types for improved album matching
* Added support for sorting the album/file lists (#75)
* Fixed OptimFROG tag reading (#5859)
* Fixed colors for a white-on-black color scheme (#5846)
* Added an option to replace non-ASCII punctuation (#5834)
* Support for writing release group and work IDs, currently unused (#5805)
* Fixed saving of the release event format tag (#5250)
* Added support for the language and script tags (#943)
* Plugins can now use track-track relationships (#5849)
* Allowed external drives to be visible in the file browser panel on OS X
(#5308)
changes:
- Changed Picard icon license to CC by-sa.
- Small UI consistency changes.
- Albums with tracks linked to more than one file are never marked as
completed.
- Fixed matching of scanned files to tracks while the album is still loading.
- Support for properly embedded FLAC pictures.
- Existing embedded images in APE and ASF files are removed only if there
are new images to replace them.
- More strict tagger script validation.
- Fixed the $truncate tagger script function.
- Proper rounding of track durations.
- Fixed a bug with saving images larger than 64k to WMA files.
- Added a $swapprefix tagger script function.
- Release events with a date are preferred over the ones without a date.
- Files that are being saved as marked as pending.
- Updated .desktop file to allow opening Picard with multiple files.
- Handle the ?open file? event on Mac OS X.
- Added timeouts to the HTTP web service client.
- Fixed a bug with albums missing the expand/collapse icons.
Shared directories can now be created independently by the pacakges
needing them and will be removed automatically by pkg_delete when empty.
Packages needing empty directories can use the @pkgdir command in PLIST.
Discussed and ok'd in thread starting at
http://mail-index.netbsd.org/tech-pkg/2009/06/30/msg003546.html