Aaru 5.3 Long Term Support release!

Hello!

It’s been ten months from our last release, and we’ve got 77 new features, 113 fixes and 23 general fixes, all of which you can read in the Changelog.

However, because the changelog is very technical I’ll take the opportunity to highlight the most important changes here, and explain the path forward for this, our first ever Long Term Support release.

DVD Video encryption (CSS)

In this set of changes we added support for the Content Scrambling System, the encryption and copy protection system of DVD Video media.

Part of this support means we added detecting if CSS is present in a disc, returning the region information for a drive, and decoding all related structures.

The most important part of this is that we added support for the key interchange and decryption of the DVD Video contents. Because in some jurisdictions, this ability is limited, or completely forbidden, by local laws, it is disabled by default, and you must enable it under your sole responsibility.

Once decryption is enabled, you get the ability to store the dump encrypted or decrypted, instead of just returning errors as before. If you’re using a compatible dump image format, you also get the ability to store all the title keys, and get them into the metadata sidecar as well.

Right now every single sector is checked independently, instead of using the key from previous sectors, so this feature is at the moment a tad bit slow, but we plan to enhance its performance for the next release.

AaruRemote

We have enabled support for using different ports, domain names, or IPs, and we have added new commands to the protocol to work better with SecureDigital and MultiMediaCard devices.

One of our users even did some fixes for running AaruRemote in computers like the old PowerMacintosh G3 Beige!

And we welcome any people that want to port our AaruRemote application to other operating systems or architectures, or implement their own altogether, as the protocol is to be considered stable. However, our AaruRemote application is still in beta phase and it’s not part of this release.

Support for images by third party software

Aaru is not the only software that supports images originated in other software, there are a few known examples.

And unfortunately, in most cases, their support is far from ideal, if not outright useless, or worse, silent data corrupters!

CDRWin 10 and GameJack are two softwares that allow to create images in the Alcohol 120% format, while using a different extension, that we now fully support.

UltraISO is another software that also creates images in the Alcohol 120% format, and we supported that already, but we added the capacity to detect the invalid dumps it generates from discs with a track 1 pregap (you’ll know them as discs with hidden audio tracks, or particularly, the CD-i Ready discs).

PowerISO allows to create dumps in the CDRWin Cuesheet format (bin/cue), and is one of the offenders. If the disc has a track 1 pregap, it just doesn’t dump that track properly, and if you try to create a CDRWin Cuesheet from a DVD or derivate disc, you’re going to end up with a bad surprise: without warning, the image is completely corrupt, unusable, and missing data!

But the worst offender we’ve found is MagicISO. All dumps made in CDRWin Cuesheet by MagicISO are wrong, but able to be recovered. Unfortunately, the DVD ones are completely impossible to recover or workaround. Yet again, without any error message, your dump is useless. But MagicISO also allows users to create dumps in Nero Burning ROM format, and these, again, are wrong. Multi-session discs, or discs with more than 15 tracks, just lose the information about the sessions or tracks, and DVD dumps need a workaround to even be usable.

Miscellaneous dump image support

We added support for Apple DOS 13-sector dumps, enhanced support for BlindWrite images of all versions and fixed CloneCD image reading.

Support for the HD-Copy and DiskDupe formats was added as well, which are two different programs for creating floppy dumps from DOS.

For the CDRWin Cuesheet format we added support for GD-ROM dumps as created by Redump, while detecting and reporting the user that multisession dumps from them are missing important data. And we also support writing hidden tracks on that format now and dumps with CDG or PREGAP lines.

For Nero Burning ROM dumps, we added support from the ones created in Nero Burning ROM 4, fixed our support for MODE2 sectors and made an overhaul that fixed all known bugs in a sneeze.

For raw sector by sector images you can now use the file extension to set the bytes per sector: .512 and .512e for 512 bytes, .128 for 128 bytes, .256 for 256 bytes, .1kn for 1024 bytes, and so on up to .64kn for 65536 bytes.

We support the geometry from VirtualBox disk images, and images bigger than 4 GiB. Support for Parallels and VirtualPC images bigger than 4 GiB is also fixed.

For DiscJuggler images we had many fixes, specially in images from non-CD media.

For our own AaruFormat we fixed a problem that appeared when dumping multisession discs, and in most of the cases, just converting the image with this release would fix the dump, with no data loss.

QEMU Copy On Write images was broken in all version, and it is now fixed, you can safely dump using them. However for version 2 and version 3, QEMU thinks our images need fixing, while still usable, and is something we plan to fix soon.

Drive support

Now you can dump SCSI or USB disks bigger than 2 TiB, get more complete reports on some drives, and support the Lite-On iHOS104 drive.

We fixed support for 48-bit ATA Command Set drives, that were broken from lack of testing.

Dumping

We have fixed dumping SecureDigital and MultiMediaCard devices using SDHCI controllers, that was broken some time ago, and we added a faster way of dumping them under Linux.

Now we store the media tags even for aborted dumps, and we don’t try to read the pregap of a session’s first track, as this was incompatible with some drives.

We also fixed the crashes when dumping XGD discs with Kreon drives.

FAT filesystem

We added much better detection between FAT12 and FAT16 and we check which one of all FAT copies are valid before using it.

We also added support for some schenanigans made by non-Microsoft implementations, like finding forward slashes in a filename, empty directory entries, or directores that have no cluster allocated yet.

We fixed the calculation of the volume clusters and fixed several problems, specially with volumes created in Atari ST computers.

ISO9660, High Sierra and CD-i filesystems

We added better support for directories that extend for more than one sector and fixed support for volumes with an invalid path table.

Media

For recordable and rewritable DVDs we now read, show, and process the Pre-Recorded Information as well as the embossed Physical Format Information, allowing us to properly detect when it has a DVD-ROM book, and dump accordingly.

We added support for detecting and dumping PlayStation 5 Ultra HD Blu-ray, Xbox Game Discs 4 (XGD4, for Xbox One) and Ultra HD Blu-ray discs. These discs are encrypted, and we do not support decrypting them.

Using the media scan command now works with Audio CDs to find bad sectors without dumping, and CD-R and CD-RW detection has been improved.

We also added support for USB flash drives that identify themselves as CD drives. This is typical in many devices, like 3G modems, that show such a secondary device to store their drivers without risk of them being accidentally overwritten.

Multi-session shenanigans

For this release we have put a lot of effort in with multi-session media, including CDs, DVDs and Blu-rays.

However we found that the support for multi-session in dump image formats is, flakey, to say the best. Most of them are restricted only to CD multi-session, and even so, some are not very clear on how things should be stored.

Because of this reason, while we support reading multi-session dumps from all our supported formats, we’ve been forced to restrict dumping to only our own AaruFormat as well as CDRWin Cuesheet format (compatible with ISOBuster dumps). We plan to fix this in the next release.

Fix cadence and release plans

So, this is the plan for the near future.

Any silent data corruption in any of the functionalities that is detected in the 5.3LTS release, will get fixed, and published as a 5.3.x point release, in the LTS cadence.

Any crash will be analyzed and individually decided if it gets the same treatment.

Everything else would be pushed to the 6.0 roadmap.

As for when we will release 6.0: it will be released whenever it’s ready, as we have many features planned. We will also not provide nightly binaries, because of the nature of the Aaru software, where a bug can create an invalid dump silently, or worse even, destroy your data. So, if you want to test the development branch, you’re on your own.

We will however build several 6.0 alphas when we see fit, such as for a big feature where we want to get user feedback and testing. For these alpha releases, we can not guarantee stability and support, or that there will not be regressions or data loss.

Sponshorship

If you want to sponsor the development of this software we welcome one-time donations, as well as regular sponsorships.

Sponsors will get preferent support and fixes, as well as personalized releases, depending on their level of sponsorship.

We’re working on registering a NPO for managing the sponshorships but meanwhile you can do it thru the accounts of the lead developer: GitHub Sponsors Patreon

We hope you enjoy this release! The Aaru Data Preservation Suite team