Picard 2.7 Beta 2

The Picard team is happy to announce that Picard 2.7 Beta 2 is now available. This is a pre-release we put out for wider testing and to gather feedback on the changes before the final 2.7 release.
If you prefer stability we recommend you use the stable version Picard 2.6.4.

Please report any issue through our bug tracker and give us feedback on this beta release on the Community Forums.

Thanks a lot to everybody who contributed to this release with code, translations, bug reports and general feedback. This release contains code contributions by Bob Swift, Philipp Wolfer and Laurent Monin.

Continue reading “Picard 2.7 Beta 2”

Picard 2.7 Beta 1

The Picard team is happy to announce that Picard 2.7 Beta 1 is now available. This is a pre-release we put out for wider testing and to gather feedback on the changes before the final 2.7 release. There are many new features in this release, which might or might not work for you as expected. If you prefer stability we recommend you use the stable version Picard 2.6.4 which we released yesterday.

Please report any issue through our bug tracker and give us feedback on this beta release on the Community Forums.

Continue reading “Picard 2.7 Beta 1”

Picard 2.6.4 released

Picard 2.6.4 is a maintenance release for Picard 2.6. It contains a couple of bug fixes, including possible crashes and startup issues on Windows. Users of Picard 2.6 are highly recommended to update.

The latest release is available for download on the Picard download page.

Thanks a lot to everyone who gave feedback and reported issues.

Continue reading “Picard 2.6.4 released”

GSoC’21: MusicBrainz Android App: Dawn of Showdown

Greetings, Everyone!

I am Akshat Tiwari (akshaaatt on IRC), an undergraduate student from Delhi Technological University, India.

It has been an exhilarating experience for me, right from submitting a proposal for GSoC to becoming a part of a fantastic community.

The Google Summer of Code 2021 Edition finally comes to an end after the 3-Month long journey. I will be detailing the journey of working towards my summer of code project today. This blog is a summary of all the work done.

Continue reading “GSoC’21: MusicBrainz Android App: Dawn of Showdown”

MusicBrainz App

Greetings, Everyone!

The MusicBrainz Mobile App developers have been working at full capacity, improving the user experience, incorporating more features and functionalities, while making sure the core purpose of the app remains as promised.

Since its inception in 2010, the MusicBrainz Official App has come a long way. The App currently is highly maintained and has been actively open for contributions. A systematic approach is being followed and updates are being made on a regular basis.

The most important revamp which has been worked on for the past few months is the Tagger feature available in the MusicBrainz Android App.

Functionalities like fetching the local album arts, searching through all your local music files at one go, retrieving the cover art from the server, and heading to the recording directly are some of the key highlights of the upcoming Tagger.

Picard has finally made an official entry to the MusicBrainz App where users can now send their releases to the original Picard desktop app with the click of a button. This has been worked on in collaboration with the Picard team and proper documentation on its usage will be shared soon.

The completely new addition of Listen and Critique showcases the functionalities of ListenBrainz and CritiqueBrainz websites natively from the app. Currently, these will be available as advanced features on the app.

A well-prepared Onboarding and About section will take you through every important detail on the app and make sure you are aware of all the functionalities in the best and optimized way possible.

Proper documentation of every feature is being prepared. The App is finally out in Production, do head to the stores and give it a try!

We are really excited to make the MusicBrainz App as user-friendly as possible for you, while we take care of all the wonder behind it!

Play Store: MusicBrainz – Apps on Google Play

F-Droid: MusicBrainz | F-Droid – Free and Open Source Android App Repository

Github: metabrainz/musicbrainz-android

Thank you!

Picard 2.6.3 released

Picard 2.6.3 is the third maintenance release for the recently release Picard 2.6. It contains a couple of bug fixes, most notably it fixes a bug where changes to some options did not get applied until a restart of Picard. Users of Picard 2.6 are highly recommended to update.

The latest release is available for download on the Picard download page.

Thanks a lot to everyone who gave feedback and reported issues.

What’s new?

Bugfixes

  • [PICARD-2205] – Syntax highlighting ignores functions starting with underscore or numbers
  • [PICARD-2206] – Fix tab order in option pages
  • [PICARD-2209] – Minimizing / maximizing Picard window registers desktop status indicator multiple times
  • [PICARD-2214] – Backslash at end of script raises TypeError
  • [PICARD-2219] – Empty file naming script causes files to be renamed to _ext
  • [PICARD-2226] – Some config changes are not applied until restart

MusicBrainz schema change release, 2021-05-17 (with upgrade instructions)

We’re happy to announce the release of our May 2021 schema change today! Thanks to all who were patient during today’s downtime as we released everything to our production servers.

This is a fairly minor release as far as schema changes go, but please do report any issues that you come across, especially related to the display of recordings, releases and release groups on artist and release group pages.

New, user-facing changes with this release are limited to the new ability to merge collections (MBS-10208) and the addition of ratings for places (MBS-11451). Additionally, MBS-11463 adds a new view that is used to fix a couple small requests related to disc IDs (MBS-11268) and release length calculation (MBS-11349). Two other changes – adding a first-release-date field to recordings (MBS-1424) and support for PKCE in OAuth (MBS-11097) are more or less end-user affecting but were already released on the main MusicBrainz servers a while ago. All other changes are under the hood only.

We ran into a few complications while working on this schema change update, so we decided to postpone two changes to our October schema change to ensure only stuff we are more confident on is released. Those are MBS-11457, which involves dropping the ordering_attribute column for series and would have had no direct effect on user experience, and MBS-11456, which would have added MBIDs for artist credits.

A few of the released new features and improvements — namely the first-release-date field for recordings, and the performance improvements to artist pages — make use of new materialized tables. These tables aren’t dumped, nor are they replicated, since they’re derived entirely from primary table data. Rather, we’ve added a new script to build them (admin/BuildMaterializedTables, included in the upgrade instructions below), and triggers to keep them up-to-date once they’re built. These triggers are created on replicated servers, too. If you use the web interface or web service at all, just note the extra step of running BuildMaterializedTables after upgrade.sh below!

A new release of MusicBrainz Docker is also available that solves an issue for live indexing and matches this update of MusicBrainz Server. See the release notes for update instructions.

Now, on to the instructions.

Schema Change Upgrade Instructions

Note: Importing the latest data dump is always a valid alternative to running ./upgrade.sh on an existing database, if you’d prefer to also get new data in one go. Just follow the relevant instructions in INSTALL.md. The git tag is v-2021-05-19-hotfixes. The rest of the instructions here assume an in-place upgrade.

  1. Make sure DB_SCHEMA_SEQUENCE is set to 25 in lib/DBDefs.pm.
  2. If you’re using the live data feed (your REPLICATION_TYPE is set to RT_SLAVE), ensure you’ve replicated up to the most recent replication packet available with the old schema. If you’re not sure, run ./admin/replication/LoadReplicationChanges and see what it tells you; if you’re ready to upgrade, it should say “This replication packet matches schema sequence #26, but the database is currently at #25.”
  3. Take down the web server running MusicBrainz, if you’re running a web server.
  4. Turn off cron jobs if you’re automatically updating the database via cron jobs.
  5. If you’re using the live search indexing, stop it and, assuming sir is under the same directory as musicbrainz-server, run cd ../sir && python2.7 -m sir triggers && cd - && ./admin/psql < ../sir/sql/DropTriggers.sql && ./admin/psql < ../sir/sql/DropFunctions.sql
  6. Switch to the new code with git fetch origin followed by git checkout v-2021-05-19-hotfixes.
  7. Install newer dependencies Perl 5.30 or later and NodeJS 16 according to install prerequisites.
  8. Run cpanm --installdeps --notest . (note the dot at the end) to ensure your perl-based dependencies are up to date.
  9. Run ./upgrade.sh (it may take a while to vacuum at the end).
  10. Set DB_SCHEMA_SEQUENCE to 26 in lib/DBDefs.pm as instructed by the output of ./upgrade.sh.
  11. If you’re using the web interface or web service, run ./admin/BuildMaterializedTables --database=MAINTENANCE all to build new materialized tables. These will take several additional gigabytes of spaces and be kept up-to-date automatically via triggers. For more information, see INSTALL.md.
  12. If you’re using the live search indexing, assuming sir is under the same directory as musicbrainz-server, run cd ../sir && git fetch origin && git checkout v2.1.0 && python2.7 -m sir triggers && cd - && ./admin/psql < ../sir/sql/CreateFunctions.sql && ./admin/psql < ../sir/sql/CreateTriggers.sql and rebuild indexes (by running cd ../sir && python2.7 -m sir reindex && cd -) then start it in watch mode (with cd ../sir && git fetch origin && git checkout v2.1.0 && python2.7 -m sir amqp_watch)
  13. Turn cron jobs back on, if applicable.
  14. Restart the MusicBrainz web server, if applicable. It’s also recommended you restart Redis. If you’re accessing your MusicBrainz server in a web browser, run ./script/compile_resources.sh.

Here’s the list of resolved tickets:

New Feature

  • [MBS-10208] – Allow merging collections
  • [MBS-11451] – Support ratings for places
  • [MBS-11463] – Add view to easily access medium track lengths
  • [MBS-11652] – Add support for artist series (hotfixed)

Improvement

  • [MBS-10962] – Speed up listing artist’s releases
  • [MBS-11268] – Show “Set track durations” on release/discids page
  • [MBS-11460] – Add materialized tables to fetch release groups by artist or track artist

Database Schema Change Task

  • [MBS-10647] – Add [no label] to b_del_label_special trigger for labels
  • [MBS-11453] – Change entity0_cardinality, entity1_cardinality to SMALLINT
  • [MBS-11459] – Create the edit_data_type_info function on mirrors
  • [MBS-11464] – Drop table statistics.log_statistic
  • [MBS-11466] – Change language.frequency and script.frequency to SMALLINT

Previously Released Changes

  • [MBS-1424] – Add a ‘First release date’ field to recordings
  • [MBS-10821] – Edit changing medium tracklist and format is stuck
  • [MBS-11097] – Support PKCE (Proof Key for Code Exchange) by OAuth clients
  • [MBS-11431] – Speed up /ws/js/check_duplicates

Picard 2.6.2 released

Picard 2.6.2 is a maintenance release for the recently release Picard 2.6. It fixes a bug where a plugin update could fail because Picard would use the old version from the network cache.

We also reverted a change from Picard 2.6.1, where if a file had no title or track number in metadata and Picard guesses this information from the file name, the title and track number would show up only as new metadata. This turned out to break people’s workflow who relied on this data for comparison with the actual new metadata loaded from MusicBrainz. For those of you who do not want Picard to automatically guess these tags from file names we will add an option in Picard 2.7 to completely disable this behavior.

The latest release is available for download on the Picard download page.

What’s new?

Bugfixes

  • [PICARD-2188] – Plugin update can fetch old version from network cache
  • [PICARD-2191] – Revert title and track number guessed from filename should show up as changed metadata

Picard 2.6.1 released

Picard 2.6.1 is a maintenance release for the recently release Picard 2.6. It brings bugfixes, performance improvements and some scripting enhancements.

The latest release is available for download on the Picard download page.

What’s new?

Bugfixes

  • [PICARD-2160] – Switching dark mode in macOS preferences does not change list elements leading to mix of light and dark mode
  • [PICARD-2166] – “Use original values” for a tag on a large selection takes very long with a high CPU usage
  • [PICARD-2168] – Keyboard shortcut to trigger script editor auto completion does not work on macOS
  • [PICARD-2170] – Title and track number guessed from filename should show up as changed metadata
  • [PICARD-2173] – “Search for similar tracks” is enabled by default, causes crash if used without selection
  • [PICARD-2187] – Scripting error in file naming options is not displayed properly

New Features

  • [PICARD-2161] – Add script function $unique to remove duplicate values from multi-value variables
  • [PICARD-2177] – Add script function $replacemulti to replace entries in multi-value variables

Improvements

  • [PICARD-2157] – Reduce comparison overhead of logging window
  • [PICARD-2162] – Coverart box is slow to update when many files are selected
  • [PICARD-2185] – Remove empty elements from $map() output

Acknowledgements

This release contains code contributions by Gabriel Ferreira, Bob Swift, Laurent Monin, Philipp Wolfer, Wieland Hoffmann and Adam James.

Many thanks also to all the translators and everyone who tested the beta releases and provided feedback on the community forums, IRC and the issue tracker.

Picard 2.6 released

The Picard team is happy to announce that Picard 2.6 is now available. This release fixes issues where the user interface could freeze and contains many new features, bugfixes and improvements.

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

Continue reading “Picard 2.6 released”