New features include a map of places contained in an area, thanks to work by loujine, and a report of instruments without an image, thanks to yvanz.
More URL cleanup fixes were submitted by yvanz, and a display bug with the locale drop-down was fixed by chirlu. Thanks again to all who contributed this release.
The git tag is
- [MBS-9062] – Correct play.spotify.com → open.spotify.com
- [MBS-8168] – Statistics for label types are missing from the stats pages
- [MBS-8236] – Recognise classicalarchives.com/artist/… URLs
- [MBS-9168] – Specific locales aren’t indented
- [MBS-9224] – The gulpfile sometimes produces a corrupt rev-manifest bundle
- [MBS-9229] – Regression: No longer able to add http://www.bandsintown.com URLs
- [MBS-9232] – Pinterest URL cleanup adds a second /
- [MBS-7795] – Display a map in Areas that shows all the places contained in the area.
- [MBS-9193] – Report instruments with neither image nor Wikidata item
- [MBS-8249] – Standardise and validate Spotify URLs
We have many more URL display, cleanup, and auto-selection fixes thanks to yvanz, and one from GCI student anshuman73. A bug with browse requests for instruments and series in our web service has been fixed by Zastai. Thanks to jonathonwiebe, too, for correcting an outdated link in our INSTALL file.
The git tag for today’s release is
- [MBS-9195] – Convert data.bnf.fr URLs into catalogue.bnf.fr ones
- [MBS-9128] – Unwanted “list” argument is not removed from YouTube URLs
- [MBS-9173] – JSON browse requests for instruments and series fail
- [MBS-8998] – Display CPDL score links on the sidebar
- [MBS-9194] – Add a bunch of sites to the “other database” whitelist
- [MBS-7734] – Improve Facebook URL clean up
- [MBS-8365] – Add autoselect, clean-up, and validation for Pinterest URLs
- [MBS-8390] – Add autoselect, clean-up, and validation + sidebar display for Bandsintown URLs
- [MBS-9002] – Disable and tick the “ended” checkbox when the end date field is filled
- [MBS-9159] – Enable URL cleanup for Instagram URLs
- [MBS-9181] – Improve ReverbNation URL cleanup
Thanks to chirlu, yvanz, and GCI students anshuman73, tigranl, and dpmittal for their contributions to today’s release. The git tag is
v-2017-01-16 and the changelog is below.
- [MBS-9175] – Attach TOC: Certain mediums with matching track count not shown when searching by artist
- [MBS-9180] – Near-identical duplicates of common-xxx.js
- [MBS-9186] – Gulpfile fails to build scripts in website containers
- [MBS-9196] – Wikidocs redirects are broken
- [MBS-9198] – Drop-down arrow in the top search missing in Firefox
- [MBS-7307] – Add LinkedIn URLs to sidebar
- [MBS-8828] – Add Songkick URLs to the sidebar
- [MBS-8851] – Add link to the blog on the footer
- [MBS-8995] – Add ReverbNation links to the sidebar
- [MBS-9143] – Remove the FreeDB search option
- [MBS-1319] – Special capitalization of dotted/dotless i/ı in Turkish
- [MBS-8868] – Display label logo for Wikimedia Commons url-relationship
This release features code from GCI student dpmittal, who fixed four of the tickets below under our mentorship. One of those tickets was for displaying the excellent artist icons that former GCI student (and current mentor) gcilou created. Those icons are displayed to the left of the name at the top of artist pages (examples: person, group, choir, orchestra, character, other). Nice work, gcilou and dpmittal! We also have various fixes and improvements thanks to chirlu and Zastai, listed below.
The git tag is
- [MBS-4159] – Vimeo relationship under the External links section
- [MBS-7009] – Exception if replication type is slave but no data in replication_control
- [MBS-8268] – Ratings (stars) display does not update on its own
- [MBS-9117] – CD Stub track count not serialized correctly
- [MBS-8359] – Add “Guess Case” function for Event names
- [MBS-8870] – Add Setlist.fm links to the sidebar
- [MBS-1352] – Different icon for Unknown/Person/Group on Artist pages
- [MBS-8542] – Blacklist Jaikoz from making barcode edits
No major changes, but the “Infer track durations from associated recordings” option in the release editor has been removed for being circular and unsound, because recording durations themselves are automatically inferred from tracks. Thanks again to chirlu and yvanz for their code contributions. The git tag is
- [MBS-9102] – Age calculation attempted when there is not enough data
- [MBS-9136] – “Tracks with sequence issues” report is broken
- [MBS-9138] – Unnecessary double attempt at getting a Commons image
- [MBS-9140] – NewHost: Name of locale with territory does not replace locale code in UI language selector
- [MBS-9142] – Artist-Artist relationship editing dialog does not show up in French
- [MBS-7654] – Remove “Infer track durations from associated recordings” option
This is our first release since the NewHost move, so it’s a mishmash of changes required for that and whatever else people submitted in between.
First, some dependency changes: memcached has been dropped as a dependency. We now use Redis as a cache, which had already been used for storing login sessions. In production we run two separate Redis instances: one as a cache (note: configure the DBDefs settings
PLUGIN_CACHE_OPTIONS) and one as a persistent session store (
DATASTORE_REDIS_ARGS). But it’s also safe (if less flexible) to use a single Redis instance without a
maxmemory setting for both, because cached entries will expire by default. So if you already had Redis running locally, you may not need to make any changes to your configuration.
This release also requires the Perl module
DBD::Pg to be version 3, which you may already have. If not, you can upgrade only that module with this command:
Thanks also to chirlu for upgrading reCAPTCHA on our registration page (which has hopefully reduced new spam accounts), Zastai for fixing some oversights in our JSON webservice, and reosarevok for removing the restriction on score URLs.
The git tag is
- [MBS-8762] – ISNI doesn’t appear on JSON WS
- [MBS-9035] – Coro dependency causes build failure on Perl 5.22 and newer
- [MBS-9091] – JSON WS: Aliases do not include begin/end date and ended flag
- [MBS-9127] – NewHost: UI language does not match “lang” in cookie
- [MBS-9132] – cannot add an alias (area)
- [MBS-9031] – Replace all usages of memcached with redis
- [MBS-9130] – Upgrade to new reCAPTCHA (version 2)
- [MBS-9096] – Upgrade DBD::Pg to version 3
- [MBS-9110] – Disable the score whitelist
I’m pleased to report that our nightmare of finding/reconstructing the missing replication packets is finally over!
Through many heroic hours of work, Bitmap and Chirlu have reconstructed the missing replication packets. All clients should now be on their way to being up to date. We’ve learned a number of lessons (some good, some bad — that’s life, right?) in this ordeal and we hope to avoid these issues in the future.
An integral part of this recovery process were a number of people from our community who helped us: Users mbcz, rembo10 and xeam sent us their complete DB dumps! Bitmap used these to sanity check and diff several other database to finally extract the missing packets. Thank you for dropping what you were doing and sending us a few GB of data over blazingly fast connections. Without you this would not have been possible; and this is not an exaggeration. Thank you!
After some more rest we’re going to continue to put out smaller fires that remain from the move to NewHost, but for now, the big fires are put out. Just in time for the weekend!
In the 11 year history of the replication stream we’ve had to have users restart their stream about 3-4 times because of problems on our end. Zero would’ve been nicer, but I’m proud that we’ve been able to make this system work for so long. On a daily basis we seem to have about 400 replicated copies of MusicBrainz running all over the world. Clearly this part of our service is well used and I sleep a little better at night knowing that our most critical data is backed up across the globe.
Just for fun, here is a graph of the replication API usage over the last 6 months:
Towards the end the graph shows the week plus long break, then a small blip as some of our replicas got unstuck yesterday and the much larger spike shows the rest of the replicas getting unstuck. Now, as to what caused the blip in mid-October — I have no idea.
Anyways, please accept my apologies for the replication stream outage and keep replicating!