Strap in, because we’re going to recap all the ListenBrainz changes in the whirlwind year that was 2023! For the full ListenBrainz changelog you can visit: https://github.com/metabrainz/listenbrainz-server/releases
For those who peeped at the changelog, yes, the ListenBrainz team managed over 60 releases in 2023… let’s check out some of the highlights.
January
Manual MBID mapping
ListenBrainz ‘listens’ have always been mapped/linked to MusicBrainz ‘recordings’ (MBIDs), to be able to serve up metadata – artist name, album name, album art, genres, and so on. There are situations where ListenBrainz’ automatic mapping system can fail or make a wrong match. The introduction of manual MBID mapping allows users to manually map or re-map their listens, by clicking on the menu of a listen card, and then on ‘Link with MusicBrainz’. Technically this is released on the 31 December 2022, but I’m sure there are a bunch of time zones where it was 2023, so it’s going in the list!
Year in Music 2022
We release the colourful ListenBrainz Year in Music for 2022, and generate reports for 5,000 users. New features include updated playlist algorithms, a beautiful browsable cover art collage and shareable images. Not just looking pretty, but also getting the word out about ListenBrainz – the success of YIM 2022 helps us double the amount of reports generated for YIM 2023.
February
MusicBrainz Canonical data dump & MLHD+ dataset
We start running the new MusicBrainz Canonical Metadata data dump in ListenBrainz. This powers features, like our MBID mapping system. The dataset is released to the public in June 2023 – meaning that anybody can use it for stuff like building your own music tagger. This new data dump also enables us to make improvements to the Music Listening Histories Dataset (MLHD). MLHD is a collection of 27 billion time-stamped logs extracted from Last.fm, released by McGill University. We improve redirects to point to the most current MBID, link to canonical versions of releases and recordings, correct artist MBIDs with the same name, remove data that contained errors, and manage a 50% size reduction of the dump with improved compression. Then comes the hardest part, adding the little ‘+’ to the end of the dataset title. The MHLD+ dataset is available to the public.
[pull request] [Canonical Data data dump] [MHLD+ dataset]
Android App release
The ListenBrainz App is officially released on the Google Play store. Allowing for playback of local files as well as via the Spotify Android SDK, users can listen to their music no matter where it is stored, and store all of their listens in ListenBrainz while they do so. The app also launches with a native implementation of YIM 2022.
March
Similarity & Popularity datasets
We release two new datasets, Similarity and Popularity. The Similarity dataset analyses users’ listens to calculate how similar artists, albums and tags are to each other. It is later used to power Music Neighborhood and ListenBrainz Tag Radio. The Popularity dataset also analyses listens, to identify an artist’s most popular albums. It is later used on Artist and Album pages, and in ListenBrainz Radio. Datasets might sound boring, and they are hard work (for us and the servers that generate them), but they are the foundation for everything we build in ListenBrainz.
[user pr] [artist pr] [tag pr]
April
AIBrainz Playlist Generator (beta)
We dip our toes into the world of Artificial Intelligence/Large Language Models. On the first of the month we launch AIBrainz playlist generator beta. If you didn’t try it out yet, you should still have 5 tokens available – go use them, it won’t let you down.
May
Site redesign
ListenBrainz gets a massive visual and UX overhaul. One I’m so used to already, I can barely remember what it used to look like… If I sweep away the cobwebs of time, I can vaguely remember a top menu with a lot of dropdowns. Now we have a primary side menu, secondary top menu, and everything is arranged into the trio of Feed, Dashboard and Explore that we know and love. And ListenBrainz becomes mobile friendly!
Listener stats
We release listener stats, one of our most wanted features. This lived in the API for quite a while, and still does (go build something cool with it!), but we have since surfaced it prominently on our Artist and Album pages. It’s that little box that tells you how many plays and how many listeners they have. This allows for a bunch of other cool features as well, like the top listeners list, and whatever else we and our users come up with later.
July
ListenBrainz Radio (beta)
We release ListenBrainz Radio beta, a playlist generator powered by PostgreSQL. ListenBrainz Radio allows anyone to create robust playlists based on tags, artists, albums, and more. ListenBrainz Radio later powers our Artist and Album radios, but it doesn’t stop there – it allows for a crazy amount of playlist customization, for those willing to dig in. Check out the advanced docs, and dig in!
Created for You
Do you remember when your recommendations page looked like this? Now you can load a playlist without having to open a new window, and interact, rearrange and inspect it on the fly. The dynamic timer icon is a nice touch, letting us know when it’s time to save a particularly good jam before it gets re-generated. The playlists themselves – Daily and Weekly Jams, and Weekly Exploration – also have their algorithms and results improved greatly throughout 2023. Playlists can be exported to JSPF and Spotify (automatically, if desired). In July we start considering the user’s timezone, and generate their playlists at the start of their day.
August
SoundCloud integration
Did you know: We already supported SoundCloud playback if a SoundCloud ID was part of the original listen. But on [redacted] we meet [redacted] [redacted] and exchange a bag of [redacted] for access to the SoundCloud search API’s, allowing us to search their platform for music, and also allowing us to [redacted] [redacted] [redacted] reach around [redacted]. This means that users can now choose to have BrainzPlayer use SoundCloud by default, as well as Spotify Premium and YouTube.
September
Android App release 2.3
It makes my bones ache just thinking about those young and motivated app devs. I bet they wake up in the morning feeling fresh, spritely, and not at all sore. They’ll learn. They managed a bunch of releases since their beta launch, but we’re skipping to release 2.3, which is a great one. A new settings page is released for the ListenBrainz Android App, as well as a new Feed page – a GSoC project that makes it to release in record time. The feed is split into three sections, My Feed, Follow Listens and Similar Listens. It is the first ListenBrainz App exclusive feature, one that us desktop users remain jealous of to this day.
Stats art creator (beta)
This firecracker sneaks into beta with little fanfare, and becomes our most shared feature (source: I feel it in my old bones). Art Creator lives in the explore section, and allows you to create ‘top album’ artwork grids, as well as some funky text and photo based variations that are included in this beta launch. The user, time range, display options and colour customization is nothing to be scoffed at either. The resulting shareable images form the basis for the #ListenBrainzMonday hashtag on socials and on the ListenBrainz reddit, and will, in the far future, take over the world.
November
Service incident
Someone on the team accidentally runs a test suite on our production server, and we lose 20 hours of user listens. The community is surprisingly nice about it (we love you), and we commit to taking steps to ensure it can’t happen again.
December
Fresher Fresh Releases
The Fresh Releases GSoC feature gets a big design and feature overhaul. A lovely new options menu is implemented, and the dynamic feed and display filters are a thing of wonder. This is the start of a new album ‘card’ style, that can display release date, type, and genres. Watch as these cards make their way into more features in the future.
25,000 users
We are now too many for the O2 Arena in London, even if all the bots wait in the car.
Goodbye, ball of flesh
We bid a sad farewell to the iconic Top Similar Users “jumbled up ball of flesh” image.
iOS App (beta)
A motivated volunteer contributor picks up work on the ListenBrainz iOS App, with the help of the Android app team. The beta is released onto TestFlight in December.
Artist and album pages
We sneak out dedicated ListenBrainz Artist and Album pages to wrap up the year. A massive update that gives every artist and album a page with cover art, Wikipedia blurbs, a tagging system, reviews, play and listener counts, top listeners, similar artists and artist and album radio… bring on 2024!
And more
Substantial improvements to statistics, Listen Table Schema Migration, ListenCard option improvements, Listen Submission API validation improvements, React 18, TypeScript 4, Python 3.11, Kombu as RabbitMQ client, updating the MB Metadata Cache incrementally, improved docker build performance, removing artist and release MSIDs…
And hundreds of other improvements from the core team as well as our wonderful open-source contributors. Please check out the ListenBrainz Github release page if you want to see more.
We’re not the only ones who’ve been busy – our list of music services and apps that can submit listens to ListenBrainz (that we know of) grows from 19 to 31 over the year, as others start integrating ListenBrainz into their projects or plugins. And finally, on the 31 December a community member makes the first commit to BrainzBot, a ListenBrainz bot for Discord.
Thank you for coming on this journey with us. Now go explore your ListenBrainz, tell your friends, generate album grids, chat on the forums, on Mastodon, X, bluesky, on the Discord, make and vote on bug and feature suggestion tickets, submit some code, and play with some fun features. Here’s to another great year(s) for ListenBrainz, for our wonderful contributors, and for our wonderful listeners.