Our release earlier this week included changes big and small, ranging from large-scale improvements like our Art Director integration, to important infrastructure changes like improved monitoring of database health.
Many of the changes were driven by feedback from the community, and we’re happy this release has been stable for most users. That said, we know there have been issues for some of you and our team has been working around the clock since Wednesday to understand these problems and address issues as quickly as possible.
Our initial plan was to ship a round of fixes next week, but with significant progress over the last two days we’ve decided to get some of these changes out ahead of the weekend.
One thing we’ve heard about this week relates to database corruption… Many apps we all use run almost completely in the cloud but Roon is different – it needs to work when your internet is down, and as such the database is stored on your Roon Core’s hard drive or SSD. This is why Roon includes a backup feature, and why we strongly encourage its use.
Hard drives and SSDs are not foolproof. Failures are uncommon, but do happen at predictable rates which can result in lost or corrupt data. This means that when Roon accesses your database the information can be garbled or unavailable, and this can be caused not only by drive failure but also by bad RAM or a buggy storage controller. Again, these cases are rare, but with a user base like ours, some people are going to experience some form of hardware failure every day.
It’s not uncommon for us to reorganize the Roon database to support new features. When this happens, Roon touches parts of the database that are not used often, causing corruption that may not have been noticed previously to come to the fore. We call this “latent corruption”. Latent corruption is not a new phenomenon, nor is it especially related to this week’s release.
In our investigation, we’ve found no evidence that this release causes data corruption, or is in any way worse with respect to this topic than previous releases. The rare latent corruption emerging this week happens to some extent with every Roon release and while it may seem as if the problem is getting “worse” over time, it’s actually just growing in proportion to the number of people using Roon and is not out of line with expected failure rates for hardware.
This release does contain a change related to database corruption, and it’s important to be clear about exactly what that was, since some have incorrectly conflated this change with recent complaints. Starting in Build 880, Roon now validates the entire database before performing a backup, which helps prevent Roon from backing up a corrupt database. This will ensure that the databases that are backed up will be valid for restore (assuming the media they reside on is not failing).
This change mostly affects behavior around the backup process, but also makes Roon more vigilant about detecting corruption during normal use of the product. We want to be clear, though: the behavior at startup is no different from before. If you are running into the “Issue loading your database” screen at startup–as opposed to during backup or browsing operations–then it is not related to these changes in Roon.
Moving on, we have identified and resolved a few issues unrelated to database corruption which we are happy to release fixes for now. This includes fixes for two bugs that causes Roon to fail to start up. One is limited to a handful of Windows machines with extremely old .NET framework versions, and the other relates to database issues unrelated to corruption (including libraries loading with zero artists or albums).
We’ve also resolved problems playing to more than 10 of some kinds of audio devices (Sonos, KEF, Chromecast, Squeezebox) and a few crashes and artist image issues.
We’re happy to get these changes out to everyone in just a few days, and we’re looking forward to hearing additional feedback over the coming weeks.
The Team At Roon Labs
Roon Build 882 is now rolling out for macOS, Windows, Windows (64 Bit), Roon OS, and Linux.
All platforms and apps should update automatically.
There is no update for Roon on Android or iOS at this time, nor are there updates for Roon Bridge
- Resolved issues enabling more than 10 audio device (Sonos, KEF, Squeezbox, Chromcast)
- Resolved issues loading database on certain windows systems with outdated .NET Framework packages
- Resolved cases where database would hang in the loading state or load with empty library
- Resolved a crash in attempt to merge compositions in a certain case
- Resolved cases where manually edited artist picture will not be shown on Now playing screen