# [6.0.0-alpha.15.1] - 2025-11-21 ## Fixed - Showstopper bug in GUI. # [6.0.0-alpha.15] - 2025-11-21 ## Added - More vendor IDs for MultiMediaCard and SecureDigital devices. - Humanized media type in several places. - More colorization. ### - GUI - Connecting to AaruRemote servers. - Device information. - Dumping media. - IMGBurn log viewer. - Media information. - MHDD log viewer. - Scanning media. ## Changed ### - Dumping - Better more stable speed calculation algorithm. ### - Media scanning - Better more stable speed calculation algorithm. ### - TUI - New cyberpunk neon style theme. ## Fixed - PMA naming in several places. ### - Alcohol 120% disc image - Fixed reading media tags # [6.0.0-alpha.14] - 2025-10-27 ## Added - GUI. # [6.0.0-alpha.13] - 2025-10-21 ## Added - AaruFormat V2. ## Fixed - Several colorization fixes in console output. - Fix spiral drawing for 80mm DVDs. # [6.0.0-alpha.12] - 2025-09-28 ## Added ### - Archives - Support for AMG archives - Support for ARC archives - Support for HA archives - Support for PAK archives - Support for Xbox 360 Secure Transacted File System (STFS) archives - Support for ZOO archives # [6.0.0-alpha.11] - 2025-08-22 ## Added ### - Console - Add colors to all output from console, except from plugins themselves (this will come later). ## Fixed ### - Media detection - Fix detection of BD-R when profile is set wrong by drive. ### - Media information - Fix media information not returning anything. - Prevent crash when incorrect MMC features are returned by the drive. ### - Media scanning - Fixed wrong speed average. ### - Decoding - Guards against certain EVPD page 80h. ### - Dumping - Show MAX instead of "0x" when dumping CDs. - DI and BCA will be dumped from all Blu-ray derived media types. ## Changes - Add Sentry to catch and send exceptions to be reviewed. - Add option to save log file globally. - Disable automatic creation of log file on dumping, use global log file. - Updated to .NET 10 # [5.4.1] - 2025-08-14 - Updated EntityFrameworkCore due to compatibility issues. # [5.4] - 2025-08-14 - Updated to run on more modern systems. No changes applied. # [6.0.0-alpha10] - 2025-04-24 ## Added ### - Archives - Support for archive formats: - Identify, list contents, extract contents. - Symbian Installation File (SIS, SISX). ### - Dumping - Add HL-DT-ST raw DVD read support - Add Lite-On raw DVD read support - Find CSS keys from pattern attack ### - Filesystems - Implement full support for mounting, reading and extracting Commodore 1540/1541/1571/1581 filesystems. ### - Fletcher-32 checksum - ARM NEON implementation if supported by running host. - SSSE3 implementation if supported by running host. ### - Formats - A2R flux format support - HyperFlex floppy formats. - SuperCard Pro flux parsing ## Fixes ### - Commands - Continue identifying filesystems if one of them throws an exception, and ask user to fill a report about it. - Ensure a directory that exists with the same name of a file is considered as file already existing. - Fix creation of metadata sidecar for optical media images not mounting supported filesystems. ### - Devices - Make Kreon SCSI CDB10 for Linux. - Fix spiral maximum sector count for DDCD parameters from a real DDCD-R disc. - Workaround some devices not liking oddly sized buffers when calling MODE SENSE (6) / MODE SENSE (10). ### - SCSI response decoders - Fix decoding of MODE SENSE (10) pages in page 0 format. - Fix handling of corrupt/invalid MODE SENSE (6) block descriptors. Fixes #842 - Fix SCSI SENSE not being decoded if VALID bit set. Fixes #824 ### - Dumping - Check title keys resume for null when not a DVD Video (#827) - Check sector validity when reading scrambled using Plextor drives. - Fix USB field sizes for 64-bit Windows systems. - Fix trying to write to subchannel log when there's none available. - In CD-i discs with no tracks in TOC and an audio lead-out, fix setting track 1 as data. - When trimming or retrying using scrambled mode, fix offset and check validity of data sectors because drive can report no error but return errored data. ### - ISO9660 filesystem - Do not declare the presence of MODE 2 sub-headers based on long sector content, but on tag presence on media image. - Fixed performance issue caused by reading the whole data previous to the asked offset. ### - VirtualPC disk image - Create and flush footer separately. - Implement support for writing sparse (dynamically allocated) images. - Use same CHS calculation as VirtualPC. # [6.0.0-alpha9] - 2022-12-23 ## Added ### - Adler checksum - SSSE3 implementation if supported by running host. ### - Apple Data Compression algorithm - Use faster native library if supported by running host. ### - Apple RLE compression algorithm - Use faster native library if supported by running host. ### - Apple Universal Disk Image Format - Support for LZFSE compressed images (ULFO). - Support for XZ compressed images (ULMO). ### - Atari Lynx cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. ### - BZIP2 compression algorithm - Faster non-native implementation. - Use faster native library if supported by running host. ### - Console - Use new console system that allows to show colors, tables and progress bars in command line. ### - CRC32 checksum - ARM specific instructions if supported by running host. - PCLMUL implementation if supported by running host. ### - CRC64 checksum - PCLMUL implementation if supported by running host. ### - Dumping - Draw the MHDD log as an image. - For most spiral media (CD/DVD/BD) draw a graph with the dump status. - For non-spiral media draw a block map. ### - FLAC compression algorithm - Use faster native library if supported by running host. ### - LZFSE compression algorithm - Now available if native library is supported by running host. ### - LZMA compression algorithm - Use faster native library if supported by running host. ### - LZIP compression algorithm - Use faster native library if supported by running host. ### - NES / Famicom cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Support for iNES and NES 2.0 formats ### - Nintendo 64 cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Support for `z64` and `n64` formats. ### - Nintendo Game Boy cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. ### - Nintendo Game Boy Advance cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. ### - Nintendo Game Boy Color cartridge dumps - Dumping by supported hardware. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. ### - Retrode cartridge dumping hardware - Dumping Nintendo 64 cartridges. - Dumping Nintendo Game Boy cartridges. - Dumping Nintendo Game Boy Advance cartridges. - Dumping Nintendo Game Boy Color cartridges. - Dumping Sega Game Gear cartridges. - Dumping Sega Master System / Mark III cartridges. - Dumping Sega Mega Drive / Genesis cartridges. - Dumping Super Nintendo / Super Famicom cartridges. ### - Sega 32X cartridge dumps - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - Sega Game Gear cartridge dumps - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - Sega Master System / Mark III cartridge dumps - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - Sega Mega Drive / Genesis cartridge dumps - Full support for converting between `smd` and `bin` formats. - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - Sega Pico cartridge dumps - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - Super Nintendo / Super Famicom cartridge dumps - Support by `print`, `convert`, `info`, `entropy`, `checksum`, `compare` and `create sidecar` commands. - Dumping by supported hardware. ### - ZSTD compression algorithm - Now available if native library is supported by running host. ## Changes - All used checksums now call a much faster native library if supported. - CICM metadata XML sidecars are deprecated, new more complete JSON format is used instead. - Remove FreeBSD support code. Use `aaruremote` for dumping devices connected to FreeBSD systems. - Resume file is now in JSON format. XML resumes will be automatically replaced. - Use APTD for accessing ATA devices in Windows. # [5.3.2] - 2022-12-23 ## Fixed ### - Aaru Image Format - DDT verification when its size on-image is bigger than 1MiB. - Parent block identifier in AaruFormat. - Track indexes in when a disc contains a hidden track. ### - Apple DOS filesystem - Calculation of file sizes ### - Apple Macintosh filesystem - Calculation of file sizes ### - BlindWrite 5/6/7 disc images - Opening split images in Windows ### - CDRWin cuesheet disc images - Do not report ISRC as present if no tracks contain ISRC data. ### - Device report - Add workaround for device report the AccessTek/Optorite DD0203 drive. ### - Devices - Add transfer size to ATA(PI) IDENTIFY (PACKET) DEVICE commands as required by a recent change in the Linux kernel API. ### - Dumping - Correct offset fixing when trimming or re-reading errored audio sectors. - Do not set INDEX 1 to a value higher than what the TOC already said. ### - FAT filesystem - Fix that first 2 FAT entries are not considered part of the allocation ones, allocating two more. - Return current clusters when a file overflows the FAT. ### - ISO9660 filesystem - Do not try to interpret an 0-length Continuation Area. ### - SGI Volume Header - Partition types not properly interpreted. ## Changes - Do not allow dumping or converting to image formats that do not properly support hidden tracks when there is a hidden track in the media. - Update Newtonson.Json dependency due to security issues. # [5.3.1] - 2022-03-06 ## Added ### - Device information - Add another Kingston vendor ID for SecureDigital. - Add MMC vendor ID for Nokia. ### - Media types - Add MetaFloppy Mod I. - Add MetaFloppy. - Add CRVdisc. ## Fixed ### - Aaru Image Format - Do not skip blocks that have CRC as 0, as we do not set them for DDTs and CD Prefix/Suffix. - Fix reading long sectors when all suffixes and prefixes are standard. ### - Device information - Fix endianness when decoding SD/MMC OCR register. ### - Dumping - Fix detecting errors from OS buffered reads in Linux. - When dumping an SD/MMC card try to detect if OS buffered reads are failing, and max readable blocks using sequential commands, and downgrade accordingly. Now also detects cards that are totally unreadable. ### - ISO9660 filesystem - Do not break when an ISO9660/HighSierra/CD-i directory spans several sectors if we only have a partial last sector read. - Do not try to decode empty path table in ISO9660/CD-i/HighSierra. ### - Media detection - Do not try to read past directory sector in detection of media type. ## Changes - Fix CRC64 calculations. # [5.3.0] - 2021-10-01 ## Added ### - Aaru Image Format - DVD CSS related structures. ### - AaruRemote - Use system URI parser to parse AaruRemote endpoints. Allows to set different ports. ### - Alcohol 120% disc image - Support for images created by CDRWin 10 and GameJack. - Support incorrect implementation of images with track 1 pregap made by UltraISO. ### - Apple DOS interleaved disk images - Support for 13-sector Apple DOS images. ### - Apple Universal Disk Image Format - Detect LZMA chunks. ### - BlindWrite 4 disc image - Consider there is subchannel if we have a subchannel file, ignoring header. - Reverse engineer unknown field that adjusts the file offset per track. ### - BlindWrite 5/6 disc image - Return empty data where only some tracks has subchannel. - Support split images. ### - CDRWin cuesheet disc image - Check if media is a CD when generating track list. - Detect corrupt DVD images created by PowerISO and stop processing. - Detect incorrect images created by MagicISO. - Do not reconstruct long sectors when media is not a CD. - Set application to MagicISO when appropriate. - Show a message that DVD images created with MagicISO are most probably unrecoverable garbage. - Show error message when trying to convert multi-session Redump dumps. - Support Redump GD-ROM dumps. - Support writing with hidden tracks (NOT CD-i Ready). - Try to detect, and workaround, disc images that lack the first track data when there's a hidden track, as such created by PowerISO. ### - CloneCD disc image - More possible values for track mode and index handling. - Process track entries. ### - Device information - Check Extended CSD is empty on device info. ### - Device report - Check support for SCSI READ LONG(16) in device report. - Try other ways of getting the SCSI MODE SENSE values that are more effective with certain devices. - Workaround firmware bug in Lite-On iHOS104. ### - Devices - Better decoding of SecureDigital Card Register. - More fields to MultiMediaCard's Extended CSD. - Enlarge sense buffer to 64 bytes. ### - Dumping - Do not cross into each session's first track pregap as this makes some drives fail. - Dumping of CSS disc key and title keys. - Enable storing decrypted CSS sectors. - Enable to continue dumping non-removable drives if serial number is different using the force option. - Implement reading SD/MMC using buffered OS calls. - Workaround some firmware bug in some audio CDs with hidden audio. - Write media tags to image even when aborted. - Write MMC/SD card registers to image before closing it. ### - FAT filesystem - Check entire FAT validity to fix identifying between FAT12 and FAT16. - Check which FAT is valid (first or second) and use it for FAT12 and FAT16. - Do not return *invalid argument* when reading a 0-byte sized file. - Handle directory entries that contain a forward slash in the filename. - Handle empty directory entries. - Handle unallocated, but reserved, directories. - Set encoding before interpreting the BPB. - Support for FAT32 volumes that uses *sectors* field in BPB. ### - HD-Copy disk image - Support for different or newer format. ### - Image information - Show Pre-Recorded Information (PRI). ### - ISO9660 filesystem - Do not stop processing a directory when there is 1 or more sectors of data left to process. - Mounting volumes with an invalid path table. ### - Media detection - Detect ISO 15041 magneto-opticals - Detect SyJet disks using number of sectors. - Detect when DVD book type is different from drive's firmware profile. - PlayStation 5 Ultra HD Blu-ray game discs. - Ultra HD Blu-ray. - Xbox Game Disc 4 (Xbox One). ### - Media images - DiskDupe (DDI) image format. ### - Media information - Decode Pre-Recorded Information. - Decode smaller disc information from older DVD drives. - More media manufacturers. - Print Disc Key and Sector CMI information. - Print recordable Physical Format Information (PFI). - Show hidden track. ### - Media scan - Allow scanning Audio CD on drives that don't allow READ(12) on them. ### - Nero Burning ROM disc image - Detect incorrect images where the track mode does not match with the track sector size and try to workaround it. - Implement support for Nero Burning ROM 4 disc images. - Support alternate audio track mode number in disc images. - Support reading sector tags in MODE2 disc images. - Workaround from invalid images created by MagicISO with invalid session descriptors. - Workaround images created by MagicISO from DVD discs that contain a completely invalid description and a single track. - Workaround MagicISO bug in images with more than 15 tracks. ### - RAW (sector by sector) disk image - Support setting sector size in raw image when the extension describes it. - Recognize Toast disc images by extension. ### - SCSI response decoders - Decode fixed or descriptor SCSI sense in a single pass, use whichever was returned by drive. - Do not skip pages when decoding a page longer than the MODE SENSE buffer. ### - Universal Disk Format filesystem - Recognize volumes that expected a 2048 bytes per sector device but are in a 512 bytes per sector image. - Set volume serial as volume set identifier. ### - VirtualBox disk image - Support for version 1.1+ geometry. ## Fixed ### - Aaru Image Format - Images that got a wrong track end beyond a leadout on dumping. - Workaround for corrupt multisession AaruFormat images. ### - AaruRemote - Ensure remotes pointing to a UNIX device node have the proper absolute path slash. ### - Alcohol 120% disc image - Prevent writing non-long sectors. - Reading images with a hidden track. - Reading images with pregaps. - Setting session. - Taking account of session start pregaps when writing Alcohol 120% images. ### - AmigaDOS filesystem - Guard identification against too small partitions. ### - Apple New Disk Image Format - Prevent identifying obsolete UDIF images. ### - Apple Universal Disk Image Format - Data offset. - Reading obsolete RO images, these require resource fork. - Sectors in obsolete RO images. ### - BlindWrite 4 disc image - Reading images with pregaps. - Track flags. ### - cdrdao disc image - Track properties. - Return session. ### - CDRWin cuesheet disc image - Calculation of sizes when it has *CDG* tracks. - Completely wrong handling of *PREGAP* value. - Do not allow CD-only tags on non-CD media. - Reading track flag when track 1 has a pregap bigger than 150 sectors. - Sectors calculations. - Setting index sectors on multi-file images. - Skipping non-present pregap images when there is more than one. ### - CloneCD disc image - Detection of track mode. - File offsets when reading multisession images. - Image size calculation. - Invert condition when retrieving flags. - Partitions on multi-session images. - Sessions. - Track 1 pregap. ### - Commands - Do not crash without configuration when no argument is used. - Do not try to read arguments when there are none. ### - CPCEMU Disk-File and Extended CPC Disk-File disk image - Interleaved sectors numbers. - Reading of images where the headers have different case. ### - CP/M File System - Handling filenames that contain a forward slash. ### - Devices - 48-bit ATA commands. - Block size for SD cards, that must always be read using 512b blocks even if their CSD says otherwise. - Block size from READ(16). - Correct transfer length type for MMC/SD cards. - Decoding MultiMediaCard Extended CSD. - Decoding of USB or FireWire serial numbers with control characters. - Decoding SecureDigital CID. - Detect SD/MMC READ_MULTIPLE_BLOCK in Windows. - Marshalling MultiMediaCard serial number from CID registers. - Overflow calculations of blocks when device has more than 0x7FFFFFFF blocks. - READ CAPACITY(16) block size calculation. - Stack corruption when sending multiple MMC/SD commands in Linux. ### - DiscJuggler disc image - Be more lenient with unknown data images. - Correct image size. - Do not generate long sectors on non-CD media. - Offset problem preventing proper read of most images. - Processing images with MODE 2 tracks. - Subchannel types being set incorrectly. - Track flags not readable. ### - Dumping - Creating sidecar from MMC trying to hash non-existing SD registers. - Non-CD optical media when drive does not return track list. - Pregap calculation on first tracks of each session when dumping CDs. - Re-setting track end when correctly reading a new subchannel that changes the next track start. - Speed calculations for very fast devices. - Stop processing sidecar when aborted. - Use a bigger buffer for READ TOC command that was preventing dumping > 90 track discs. ### - FAT filesystem - Add a guard for FAT12 and FAT16 to prevent an exception on invalid FAT chains. - Clusters calculation in FAT12 and FAT16. - Fix reserved FAT entries. - Force identification of hard disk volumes made by Atari ST with FAT16 filesystems when they're not bootable. - In FAT filesystem, 0 means no time stored. - Interpretation of BPB value used by Atari ST in FAT16 partitions of type BIG GEMDOS. - Mounting a FAT filesystem that does not contain a valid FS_TYPE field and have invalid clusters. - Null reference exception in FAT filesystem when entry points to a cluster beyond volume. - Reading FAT when it has an odd number of clusters. - Regression in setting timestamps from FAT filesystems. ### - Filesystems - Creation of destination folders when extracting files. - Extracting extended attributes ### - Flash-Friendly File System (F2FS) - Guard against reading beyond partition end when identifying. ### - Image conversion - Converting tape images using command line. ### - Image verification - Off by one error when verifying disc images with tracks. ### - ISO9660 filesystem - Extents not being created for 0 byte files in High Sierra, ISO9660 and CD-i volumes. - ISO9660, High Sierra and CD-i volumes where the directories span multiple sectors. ### - Kreon firmware (XGD dumping and information) - Correct calculations on dumping and media information. - Ensure Kreon commands return proper error status. ### - Media detection - Detecting CD-R and CD-RW when dumping if drive reports as CD-ROM. - DVD discs being detected always as -ROM when the drive returned this profile on dump. - Misdetecting optical discs as flash drives. - Number of blocks for 70Gb iomega REV. - XGD. ### - Media images - Fix full TOC generation. ### - Media scan - Calculating blocks to read when dumping or scanning MMC/SD. - Seeking test in SD/MMC media scan. ### - Nero Burning ROM disc image - Incorrect size in multisession media. - Invalid pregaps detected. - Long sectors returning subchannel. - Reading MODE 1 sectors from track marked as MODE 2. - Returning long sectors in non-CD media. - Track starts and ends made no sense. - Unreadable track flags. - Wrong raw bytes per sector. - Wrong sessions in some media. ### - Parallels disk image - Images bigger than 4GiB. ### - QEMU Copy-On-Write disk image - Align structures when writing. ### - QEMU Copy-On-Write v2 disk image - Tables calculations that crashed and made unreadable images. ### - RAW (sector by sector) disk image - Getting tracks when writing raw image. - Returned track properties in raw ISO images. ### - Reiser 3 filesystem - Volume label decoding. ### - SCSI response decoders - Descriptor sense decoding. - Skip invalid EVPD page 80h if it contains non-ASCII characters. ### - UNICOS filesystem - Guard against reading beyond partition end when identifying. ### - Universal Disk Format filesystem - Regression in volume identification. ### - VirtualBox disk image - Working with disk images bigger than 4GiB. ### - VirtualPC disk image - Reading disk images bigger than 4GiB. - Reading dynamic images. ### - Xbox FAT filesystem - Exchange access and creation timestamps. ## Changes - Add command line to pause before exiting. - Clarify anonymouslity of stats sharing. - Consider 0 to be "current default timeout", otherwise some device commands / operating system combinations fail. - Create .xattrs folder only in root path of extracted volume. - Detect all unknown non-removable media as hard disk drives. - Detect USB flash drives that identify themselves as CD readers but are in reality just block devices. - Disable calculation of disc entropy on multisession discs. - Disable dumping with multisession except in AaruFormat and CDRWin formats until 6.0. - Disable force unit access in SCSI devices during media detection. - Do not allow converting multisession images to formats that don't support multisession. - Do not pre-calculate pregaps when dumping on a Plextor as some older models contains firmware bugs that crash the bus. - Do not write to subchannel log when there's none. - Ensure first-time setup is invoked even when another command is requested. - Fix calculating track entropy. - Fix extents creation from a list of extents to prevent overlapping extents to be added. - Guard several filesystems against crashes when identifying on a data buffer smaller than needed. - In image information, only show indexes if there's any index to show. - Move IRC to Libera. - Reduce seek times to 100 when scanning MMC/SD cards. - Rename *image analyze* command to *filesystem info*. - Use ATA Pass Through Direct API in Windows. - Use same codepath for calculating optical media tag sidecar fields dumping or from image. - Use SCSI reader detection of maximum supporter blocks to read at once when scanning non-CD media. # [5.2.0.3330] - 2020-12-03 ## Added ### - Aaru Image Format - Enable checksums by default when writing. ### - Alcohol 120% disc image - Support writing PhotoCD. ### - cdrdao disc image - Support writing PhotoCD. ### - CDRWin cuesheet disc image - Support writing PhotoCD. ### - CloneCD disc image - Support writing PhotoCD. ### - Device report - Check DVD-RAM if the drive claims to be able to read any DVD based format. - Use features to see MMC drives read capabilities. ### - ISO9660 filesystem - Support a block size different from 2048 bytes. ### - Media detection - Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim later). ### - Media information - Add detection of 44Mb Bernoulli Box II disks. - Add detection of 150Mb Bernoulli Box II disks. - Add detection of ECMA-322 / ISO/IEC 22092 1024bps magneto-optical disks. - Add detection of ISO/IEC 10089 1024bps magneto-optical disks. - Add detection of ISO/IEC 14517 512bps and 1024bps magneto-optical disks. - Add detection of ISO/IEC 15286 2048bps and 1024bps media disks. - Add detection of SyQuest SQ400 disks. ## Fixed ### - Aaru Image Format - Fix reporting track flags and ISRCs on non-CD media. - Fix resuming subchannel and other CD structures. - Fix when writing subchannel that doesn't belong to any track. - Load more structures when resuming. - Remove check for track crossing when writing. ### - AaruRemote - Catch when host is already an IP address. - Cover closing remote connection when socket is disposed. - Remove trailing slash on remote device command. ### - AppleSingle filter - Do not try to open non-existing file. ### - BlindWrite 4 disc image - Fix images that contain sectors 150 sectors of first track pregap. - Fix off by one track ends. - Fix track file offsets in BlindWrite 4 disc images. - If any track has subchannel, the subchannel sidecar file contains them for all tracks. ### - BlindWrite 5/6 disc image - Add sessions. - Fix cross track detection. - Fix disc size calculation. - Fix length of tracks. - Fix negative index. - Fix setting track session. ### - cdrdao disc image - Prevent empty ISRC from being added. ### - CDRWin cuesheet disc image - Prevent empty ISRC from being added. ### - CloneCD disc image - Fix indexes. ### - DiscJuggler disc image - Do not try to read descriptors if there are none. - Fix cross track detection. ### - Dumping - Add classifying rw full off 0xFF as being empty - Check MMC drive profile when dumping. - Consider RW subchannels as ok if some are all 0s and some are all 1s. - Consider the last sector of all the tracks on a DVD or Blu-ray as the last block on disc even if drive tells otherwise. - Continue printing SCSI sense buffer in error log even if we have an operating system error. - Disable FUA to fix reading from old SCSI disks. - Do not generate subchannels if aborted. - Do not recalculate logical track size when DVD drive returns a negative start. - Do not try to find SCSI read command if the medium is not written. - Ensure only unique bad blocks are saved in resume file. - Fix decoding of last digit of MCN subcode. - Fix detecting XGD3. - Fix log message when trimming found a blank block. - Fix MEDIUM SCAN SCSI command. - Fix retrieving CD drive offsets from database when model or manufacturer contains a slash. - Get back tracks, indexes, MCN and ISRCs from resumed file. - Guard against some firmware bugs when getting DVD/BD track number and length. - Handle calculating blank sectors when environment does not support MEDIUM SCAN command (consider all written and trim later). - Hardcode read command and blocks to read if we cannot calculate them for magneto-opticals. - If device returns "corrected error", consider it as a good read. - Use image capabilities when dumping CDs. ### - FAT filesystem - Fix reading volume name from incorrect implementations that fill it with NULs. ### - ISO9660 filesystem - Fix extended attributes. - Reject processing a path table that doesn't start with the root directory. ### - MacBinary filter - Do not try to open non-existing file. ### - Media detection - Do not decode invalid ATIP data. - Fix detection of CD-i Ready discs when negative offset and drive cannot read negative sectors. - Fix detection of dual layer DVDs. - Fix detection of hidden data track mode when drive returns it scrambled. - Fix detection of version 3 and upper DVD-RW and DVD-RW DL. - Fix negative offset calculating when detecting scrambled CD-i Ready. ### - XZ filter - Fix crashing when file is too small. ### - RAW (sector by sector) disk image - Fix capabilities. ## Changes - Add new issue templates. - Add support for dumping CDs to images that only support cooked user data. - Allow to dump the video partition of XGD discs when forced is enable. - Allow user to choose maximum number of block to read at once when dumping media. - Change how pregap starting with 0 is calculated dumping versus converting. - Change method of reading subchannels in Plextor drives. - Continue trying filters when one raises an exception. - Do not dump multi-session CDs in Plextor drives connected to a USB bridge until it is fixed. - If there is an OS error only print the sense buffer if it contains data. - Mark FreeBSD code as obsolete. Pending removal. - Reverse used SCSI READ command, as some USB devices claim to support a later one but don't properly. - Scan blank blocks in magneto-optical disks before dumping, and do not treat them as errors. - Use track 1's first sector to check readability of CompactDisc media. # [5.1.0.3214] - 2020-07-25 ## Added ### - Aaru Image Format - Save Compact Disc track indexes in. - Support reading mode2 subheaders. - Support writing multi-session DVD/Blu-ray in Aaru Image Format and CDRWin. ### - BlindWrite 4 disc image - Add reading subchannels. ### - CDRWin cuesheet disc image - Support Redump GD-ROM variant. - Support writing multi-session DVD/Blu-ray in Aaru Image Format and CDRWin. - Write proper Lead-Out entry on CDRWin images. ### - Device report - Add MediaTek command F1h subcommand 06h to device report. - Add test for reading Lead-Out using a trap disc. - Support creating device reports of MiniDisc Data drives. ### - Devices - Add ATA commands for lock, unlock and eject. - Add READ TRACK INFORMATION command from SCSI MMC. ### - Dumping - Add dumping MD DATA discs. - Add floptical detection. - Add list of files for media dump command. - Add option to eject media after a dump completes. - Add option to fix subchannel position. - Add option to fix subchannels. - Add option to retry bad subchannel sectors. - Add option to use list of output files when dumping media. - Detect disc type when dumping non-CD MMC devices. - Dump sessions and tracks on non-CD optical discs. - Enable accessing generic SCSI node in Linux. - Read SD/MMC devices one block at a time, as READ MULTIPLE is timing out, pending investigation. - Report and stop dump if pregaps cannot be preserved, unless forced. - Save error log on dump. - Save indexes on dump. - Support dumping CD-i Ready when drive returns data sectors as audio. - Use subchannel, if available, to set ISRC. - Use subchannel, if available, to set MCN. - Write subchannel log when dumping Compact Disc media. ### - Image analysis - Print track indexes in image info. ### - Image conversion - Add option to fix subchannels on image conversion. - Add option to generate subchannels. ### - ISO9660 filesystem - Add interpretation of timezone offsets. - Check if PVD points to the real root directory, if not check path table, if neither do not mount. - Expose MODE2 subheaders as extended attributes. ### - Media image formats - Add generation of RAW CD sectors from images that do only contains them cooked. ### - Media information - Add detection of CD32 and CDTV discs. - Add detection of China Video Disc. - Add detection of HiFD floppies. - Add detection of Neo Geo CD discs. - Add detection of PhotoCD. - Add detection of Sony PlayStation Compact Disc. - Add detection of VideoCD and Super Video CD. - Add support for MD DATA drives. - Calculate all pregaps in media info. - Detect CD-i Ready when the drive returns data scrambled. - Implement detection of CD+G, CD+EG and CD+MIDI. - Show the reasons while a media type has been chosen on detection. ### - Media types - Add China Video Disc media type. ### - Metadata sidecar - Add media catalogue number, track isrc, flag and indexes. ## Fixed ### - Aaru Image Format - Clarify error message in case of corrupted prefix/suffix data. - Ensure FLAC buffer is finished correctly. - Fix marking CD track flags and ISRCs as present. - Fix setting indexes from track start and pregap. - Sectors with no entry in the DDTs to be considered not dumped. ### - Acorn Advanced Disc Filing System - Fix identification of some variants. ### - Alcohol 120% disc image - Fix message about incorrect images showing with correct images. - Fix saving proper pregap, length and offset. - Fix writing multi-session images. - Write extra field in Alcohol for tracks that don't have it (POINT>=A0h). ### - BlindWrite 4 disc image - Fixed track offsets and pregaps in BlindWrite 4 images. ### - BlindWrite 5/6 disc image - Fix identifying BlindWrite 5 vs 6. - Fix images that contain a non existent data file. - Fix multi-session images. - Fix reading ATIP. - Fix reading subchannels. ### - cdrdao disc image - Fix writing indexes. ### - CDRWin cuesheet disc image - Fix reading images that do not have track mode in all caps. - Fix reading multi-session images. - Fix writing indexes. ### - CloneCD disc image - Fix reading multi-session images. - Fix subchannels. - Fix track solving. - Fix writing multi-session images. - Fix writing pregap mode. ### - Database - Ensure not adding duplicate seen devices to database. ### - Device report - Correctly handle report of pregap and Lead-in readability. - On device report try only a few sectors from track 1 pregap. ### - Devices - Add SCSI MEDIUM SCAN command. - Do not show information about CD offsets in device info when device is not an MMC class device. Fixes #357 - Fix getting serial from USB or FireWire. ### - DiscJuggler disc image - Fix incorrect mode2 handling. - Fix indexes and track starts. - Fix partition calculations. - Fix session sequence in tracks. ### - Dumping - Do not cross Lead-out in data tracks. - Do not show speed burst if they have not been set. - Fix calculating offset using scrambled read as audio when device is in database. - Fix detecting indexes in track 1. - Fix dumping when read subchannel is PQ only. - Fix infinite loop failing to cross Lead-Out dumping CDs. - Fix infinite loop on some CD track mode changes while dumping. - Fix not exiting when an image cannot be appended. - Fix opening SecureDigital / MultiMediaCard devices. - Fix pregap calculation in track mode changes when pregap ends in 0. - Fix reading OCR from newer versions of Linux sysfs. - Fix re-setting track pregap when a read subchannel indicates a different value. - Fix reversing list of bad blocks only if we're retrying backwards. - Fix setting track pregaps from subchannel. - Fix setting track subchannel type to the desired type. - Handle discs that have pregap ending in LBA 1 instead of ending in LBA 0. - If block 0 can not be read, try another random block before deciding media cannot be read, for SBC and ATA. - If track mode can not be guessed, try again after pregap. - Make pregap calculation faster in some drive/disc combinations. - On errors when dumping with INSITE floptical drives, always stop, as these drives have a SCSI bus quirk that makes them need a reset on modern software stacks after an error has been found. - Trim as audio when we know it is an audio sector, fixes some firmware bugs in audio pregap after a data track. - Update the pregap while dumping if found to be bigger than known one. - Use SCSI MEDIUM SCAN to find the first readable block. ### - FAT filesystem - Do not try to read EAs from FAT16 directory entry field when it is a FAT32 volume. - Fix false positive in FAT identification. ### - Image analysis - Do not calculate pregaps on non-CD optical disc images. ### - Image conversion - Fix overwriting flags and isrc in all CD writable image formats. ### - ISO9660 filesystem - Fix files of size 0. - Fix listing extended attributes for empty files. - Fix reading directories that span more than a sector when detecting media type. - Fix swapping location of big-endian path table in debug mode. - If use path table option is indicated, use it also for the root directory. ### - MAME Compressed Hunks of Data - Disable support for CHD v5 until it can be fixed properly. - Fix indexes and pregap. ### - Media information - Discard PMA without descriptors. - Display media sizes in international system units. ### - Metadata sidecar - Disable trying to checksum between sessions, as all images throw an exception here. - Fix creating sidecar when a track's index 0 is negative. ### - Nero Burning ROM disc image - Fix off by one error reading. - Fix reading multi-session images. ### - Statistics - Fix sending media formats statistics. ## Changes - Change database name to be more inclusive. - Move common subchannel code to decoders. - Optimize speed when reading subchannels. - Read with subchannel even if not supported by image or not asked by user. - Send statistics at program end, not start. # [5.0.1.2884] - 2020-04-23 ## Fixed ### - Aaru Image Format - Fixes data loss on certain Compact Disc audio tracks when dumping in Aaru Format with compression enabled. # [5.0.0.2879] - 2020-03-15 - First and most importantly, we got a rename. We're now Aaru, part of the Aaru Data Preservation Suite, that encompasses Aaru (previously DiscImageChef), Aaru.Server (previously DiscImageChef.Server), aaruformat (previously dicformat) and aaruremote. - This release is dedicated to the loving memory of Facunda "Tata" Suárez Domínguez, R.I.P. 2019/07/24. ## Added ### - Aaru Image Format - Add ".aif" as a supported extension. - Add CD Mode 2 sector reconstruction. - Claunia Subchannel Transform algorithm. Makes subchannel compress 100% faster and 25% better. - Compress VideoNow discs as data not audio. - Support for CD-i Ready. - Support for skipping storing CD prefixes and suffixes that are correct. - Support writing logically block addressable tapes. - Update template with block addressable tape types. ### - CDRWin cuesheet disc image - Save metadata in CDRWin cuesheet. ### - Database - Add entities for USB vendor and product IDs. - Add entry for optimal count of sectors for multiple read in devices. - Added new database system - Enhance support and tweaks for devices depending on the parameters in the database - Fill CompactDisc read offsets from AccurateRip list. - Store and retrieve USB IDs from databases. - Store device reports in the database instead of XML files - Store statistics on database - Submit pending statistics in background. ### - Device report - Add check for Nintendo discs. - Add new CompactDisc and Blu-ray variants. - Add test for inter-session reading in multi-session discs. - Change device report entry for Lead-in to first track pre-gap and add a new entry for proper Lead-in - Check if data CDs can be read scrambled by READ CD command. - Check sector 16 for MMC discs, as 0 is usually empty. - Clear ATA IDENTIFY DEVICE private fields. - Clear serial numbers. - Create new more extensible device report format in JSON. - Do not allow to be run without administrative privileges. - Eject SCSI DirectAccess devices if removable. - Save data when not in debug mode. - Store not only default, but current and changeable modes in SCSI. - Store read results in report and database. - Support iomega REV disks. ### - Dumping - Add default value for writable image options. - Add option to not store paths and serial numbers when dumping. - Add support for CD-i Ready. - Add support for dumping MemoryStick from USB attached PlayStation Portable with CFW installed. - Add support for dumping UMD from USB attached PlayStation Portable with CFW installed. - Allow to abort anywhere - Change --no-metadata to --metadata and --no-trim to --trim. - Prevent dumping XGD without administrative privileges. - Show error message if unsupported dump is tried. - Show more information when dumping an XGD. - Support fixing Compact Disc audio tracks offset using scrambled read commands and database. - Support iomega REV disks. - Support PD650 discs. ### - Filesystems - Full read-only implementation of Xbox and Xbox 360 FAT filesystems ### - FAT filesystem - Full read-only implementation. - Support for Microsoft FASTFAT long file names. - Support for OS/2 Extended Attributes. - Support for OS/2 WorkPlace Shell long file names. - Support for PCExchange filenames. - Support for PCExchange Resource Fork. - Support for Sharp X68000 extended filenames. ### - ISO9660 filesystem - Full read-only implementation for CD-i filesystem. - Full read-only implementation for High Sierra Format. - Full read-only implementation for ISO 9660 (up to level 4). - Support for AAIP. - Support for Amiga RRIP. - Support for Apple Extensions. - Support for eXtended Architecture (XA). - Support for Joliet extensions. - Support for Rock Ridge Interchange Protocol. - Support for Romeo variant. ### - Media image formats - Add support for DataPackRat's f2d/d2f disk images. - Full read/write support for CopyTape tape images. ### - Media information - Add another value for Mitsubishi Chemical ATIP frame number. (97:34:22) - Detect 3DO discs. - Detect Atari Jaguar CD discs. - Detect audio MiniDisc. - Detect Bandai Playdia discs. - Detect Castlewood Orb 2.2Gb. - Detect CD-i Ready. - Detect EZFlyer 230MB. - Detect Fujitsu FM-Towns discs. - Detect Hasbro VideoNow Color detection. - Detect Hi-MD formatted 60 minutes MiniDisc. - Detect Hi-MD formatted 74 minutes MiniDisc. - Detect iomega REV, REV70 and REV120. - Detect media types also in ATA. - Detect NEC PC-Engine discs. - Detect NEC PC-FX discs. - Detect Sega CD / Mega CD. - Detect Sega Dreamcast GD-ROM. - Detect Sega MilCD discs. - Detect Sega Saturn CD. - Detect Sony PlayStation 2 discs (CD and DVD). - Detect Sony PlayStation 3 discs (DVD and Blu-ray). - Detect Sony PlayStation 4 Blu-ray discs. - Detect SparQ carts in SCSI devices. - Detect SparQ media in ATA drive. - Detect SyQuest SQ2000 and SQ800. - Detect SyQuest SQ310. - Detect TR-4 and TR-5. ### - Media types - Add Amiga CD32 - Add Amiga CDTV. - Add another DDS1 SCSI medium type. - Add Bandai Pippin. - Add Bandai Playdia - Add CD-i Ready. - Add dimensions for Iomega REV. - Add Fujitsu FM-Towns. - Add Hasbro VideoNow. - Add HP codes for DDS. - Add Nuon - Add PD650. - Add SEAGATE code for DDS-2. - Add Sega MilCD. ### - Metadata sidecar - List and hash filesystem contents when creating a sidecar. ### - Opera filesystem - Full read-only implementation. ### - SCSI response decoders - Add encoder for ATA IDENTIFY (PACKET) DEVICE. - Add encoder for SCSI INQUIRY. - Add encoder for SCSI MODE PAGE 2Ah. ## Fixed ### - Aaru Image Format - Don't initialize LZMA when compression is disabled. - Ensure all LZMA allocations are freed when closed. - Fix double negation options - Fix reading MODE2 sectors with incorrect EDC/ECC correctly. ### - Alcohol 120% disc image - Fix media size calculation when reading Alcohol images with several pregaps. ### - Apple Hierarchical File System - Fix interpretation of the Apple boot block. ### - CDRWin cuesheet disc image - Fix pregap reading in CDRWin format. - Fix pregap writing in CDRWin format. ### - Checksum - Optimize SpamSum ### - CPCEMU Disk-File and Extended CPC Disk-File disk image - Fix images not recognized as such. ### - CP/M File System - Fix the CPM filesystem detection and file listing ### - Device report - Allow ASC 28h in streaming device report. - Eject media once reported. - Fix SCSI Streaming Command device reporting. - On streaming device report do not LOAD as the tape is already in loaded state once inserted in the drive, and some old drives get confused. - Retry 50 times as tapes can take long to be ready. ### - Devices - Allow opening read-only devices on Linux. - Allows opening some devices in non-administrator mode. - Close device when finished command execution. - Correct detection of errors sending ATA commands. - Correct detection of Plextor features. - Correct showing EVPD page number. - Do not search for floppy mode page when mode sense returned no pages. - Get serial number using MMC GET CONFIGURATION for optical drives. - In Windows, close the device handle, to prevent an exception being raised. ### - Dreamcast GDI disc image - Fix reading pregap in GDI images. ### - Dumping - Check which LOCATE version is supported regardless of the next block on resume. - Correct device not ready error messages on dumping SCSI. - Fix Compact Disc type detection - Fix detecting tape block size when tape reports a lower minimum size. - Fix printing of sense in SSC dump. - Fix speed calculation on. - Handle errors when dumping SSC. - Handle when SSC drive does not report block size for first block. - Prevent showing option to dump first pregap on FreeBSD where it crashes the system. - Save tape files when dumping SSC media. - Save tape partitions when dumping SSC media. - Set image's tape mode when dumping SSC. - Show message indicating that audio MiniDisc cannot be dumped. - Store MODE responses from SSC dumping in output image. - Support resume in SSC dumping. - Try to detect if the Kreon drive has not locked correctly, and try to use cold values if they look as possibly valid. - Use output plugin when dumpìng SSC. - When SCSI device is becoming ready, wait more, as tapes can take a long time to become ready. ### - Filesystems - Fix extracting file from filesystems with subdirectories. - Fix listing files walking thru subdirectories. - Stylize output when listing files. ### - IBM Journaled File System - Fix decoding of volume label. ### - Image analysis - Fix crash in partitions enumeration. - Treat tape files as partitions. ### - Image comparison - Do not compare metadata between two images. ### - Image conversion - Checking if input tracks is null when converting image. - Fix showing sector where conversion fails. ### - Image filters - Fix bzip2 initialization. ### - Image verification - Fix verify command when image can represent optical media, but doesn't. ### - ISO9660 filesystem - Do not set ISO identifiers in XML metadata if they are empty. - Fix reading application identifier from ISO9660. - Fix trimming of null character and spaces in Joliet volume descriptor. ### - Macintosh File System - Correct behaviour when path starts with directory separator. - Fix interpretation of the Apple boot block. ### - Media information - Fix media type detection from SBC devices. - Fix support for 128Mb 3.5" magneto optical. ### - Metadata sidecar - Calculate tape hashes in smaller chunks as tapes can have huge blocks. - Fix error creating sidecar with DVD's CMI. - Fix media type sidecar on DVD based console discs. - Fix setting application identifier for metadata sidecar. - Fix when USB descriptors are null at sidecar creation after dump. ### - Nero Burning ROM disc image - Fix offset by 1 that prevented reading the last sector of every track. ### - RAW (sector by sector) disk image - Do not allow CDs with more than one tracks, or non-mode1 tracks to be written as raw images (.iso). - Fix dumping CDs in raw image format (.iso). ### - SCSI response decoders - Protect against null mode pages. ### - SecureDigital devices - Fix overflow on SecureDigital CSD v2.0 size calculation. ### - VirtualPC disk image - Conversion optimizations make opening images up to 38 times faster. ## Changes - Add binary packages for major targets. - Add mime database file for Linux systems to correctly recognize aaruformat images. - Add support to use devices remotely with Aaruremote. - Change command line to a cleaner and more natural system. - Complete CompactDisc dumping rewrite, allowing fixing audio tracks offset, more correct audio track dumping, workarounds firmware bugs from several common drives and gives more preservation-quality dumps. - Deprecate Mono and .NET Framework. - Fix null reference exception on verify. - Fix overflow with small sectors in Apple Partition Map. - Fix overflow with small sectors in BSD disklabel. - Fix progress crashing when terminal window changes size. - Get device information from database when dumping Compact Disc. - Hide device commands on unsupported platforms. - Remove RIPEMD160. - Separate CRC16 IBM and CRC16 CCITT contexts, use cached tables. - Use .NET Core. # [4.5.1.1692] - 2018-07-19 ## Fixed ### - Alcohol 120% disc image - Correct writing images of Compact Disc >= 60 min - Correct writing MODE2 tracks to image - Correct writing TOC to image - Generation of multisession images - Generation of pregaps changing tracks # [4.5.0.1663] - 2018-06-24 ## Added ### - Alcohol 120% disc image - 010editor template. - Support for creating images. ### - Apple New Disk Image Format - Support RLE compressed images. ### - Blindwrite 4 disc image - 010editor template. - Information about why this format cannot support writing. ### - Blindwrite 5 disc image - 010editor template. - Information about why this format cannot support writing. ### - DART disk image - Support RLE compressed images. ### - Decoders - Added Blu-ray DI decoders. - Support decoding 2048 bytes PFI. ### - Devices - On Linux try to open in read/write and exclusive mode, if not retry in readonly. - On Linux use direct SG_IO. - Workaround some Blu-ray drives not reporting correct size on READ DISC STRUCTURE. ### - DiscJuggler disc image - Information about why this format cannot support writing. ### - Dumping - Added support for CD drives that don't return a TOC. - Added support for CD drives that don't support READ CD command. - Added support for Compact Disc that don't report tracks. - Add support for dumping media in any of the now supported writable formats. - Dump ISRC. - Dump MCN. - Fix reading PW subchannels. - Separate trimming from error retry. - When dumping CDs in persistent mode, try disabling L-EC check if drive doesn't support TB bit, or doesn't return data with TB bit enabled. - When dumping, print bad sectors to dump log. ### - FAT filesystem - Add list of known boot sector hashes. - Support Human68k FAT16 BPB. ### - Filesystems - Detecting High Performance Optical File System (HPOFS). - Detecting Microsoft Resilient filesystem (ReFS). - Detecting PC-FX executable tracks. - Detecting Xia filesystem. ### - Apple 2IMG disk image - Support for creating images. ### - Anex86 disk image - Support for creating images. ### - Apple II interleaved disk image - Support for creating images. ### - Apple Universal Disk Image Format - Support for creating images. - Support RLE compressed images. ### - Apridisk disk image - Support for creating images. ### - Basic Lisa Utility disk image - Support for creating images. ### - cdrdao disc image - Support for creating images. ### - CDRWin cuesheet disc image - Support for creating images. ### - CisCopy disk image - Support for creating images. ### - CloneCD disc image - Support for creating images. ### - Digital Research DISKCOPY disk image - Support for creating images. ### - DiskCopy 4.2 disk image - Support for creating images. ### - IBM SaveDskF disk image - Support for creating images. ### - MaxiDisk disk image - Support for creating images. ### - NHDr0 disk image - Support for creating images. ### - Parallels disk image - Support for creating images. ### - QEMU Copy-On-Write disk image - Support for creating images. ### - QEMU Copy-On-Write v2 disk image - Support for creating images. ### - QEMU Enhanced Disk image - Support for creating images. ### - RAW (sector by sector) disk image - Added geometry and size for ZIP100 and ZIP250. - Support 2448 bytes/sector and 2352 bytes/sector CD images. - Support media tags. ### - Ray Arachelian's disk image - Support for creating images. ### - RS-IDE disk image - Support for creating images. ### - T98 Hard Disk Image - Support for creating images. ### - Virtual98 disk image - Support for creating images. ### - VirtualBox disk image - Added image type and flags. - Support for creating images. ### - VirtualPC disk image - Support for creating images. ### - VMware disk image - Support for creating images. ## Fixes ### - Apple DOS filesystem - Use Apple II character set encoding. ### - Apple ProDOS filesystem - Use Apple IIc character set encoding. ### - BlindWrite 4 disc image - Fix incorrect pregap calculation preventing images from showing correct data. ### - CICM metadata - Can now get dump hardware information from images. ### - cdrdao disc image - Fix audio track endian. - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - CDRWin disc image - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - CloneCD disc image - Fix when disc catalog number uses whole ASCII and not only numeric digits. ### - Checksums - Correct CD ECC. - Correct CD EDC. - Fix CRC16 returning a 32-bit value. - Fix CRC64 endian. - Fix Fletcher-16. - Fix Fletcher-32. ### - Create sidecar - Add filesystems only to the appropriate partition and track. - Fix CD first track pregap, TOC and XGD tags. - Fix diameter setting. - Fix SCSI MODE SENSE. - Fix USB descriptors. ### - DART disk image - Fixed endian. ### - Devices - Fix sending READ LONG commands to ATA devices. - Fixed crashing with some rogue SCSI MMC firmwares. ### - Dumping - Correctly detect CD-i, CD+ and CD-ROM XA. - Correctly detect Mode 2 Form 1 and Form 2. - Do not retry when retry passes are zero. - Do not try to read multisession lead-out/lead-in as they result in errors that are not really there. - Get correct track flags. - Retry only the number of times requested. - Return drive to previous error correction status. - Send error recovery MODE before retrying sectors. ### - HDCopy disk image - Fix sector calculation. ### - Image comparison - Fix when sessions are null. ### - Image verification - Corrected status printing. ### - ISO9660 filesystem - Do not try to read past partition if El Torito indicates image goes beyond limits. - Fix when root directory is outside of device. - Skip null terminated strings in ISO9660 fields. ### - Lisa filesystem - Corrected character set encoding. ### - Macintosh filesystem - Corrected character set encoding. ### - PC-98 Partition Table - Prevent some FAT BPBs to false positive as PC-98 partition tables. ### - RT-11 filesystem - Use Radix-50 character set encoding. ### - System V filesystem - Fix partition bounds. ### - VirtualPC disk image - Corrected reading non-allocated blocks. ## Changes - Added command to convert disc images. - Added command to get information about an image and its contents. - Added D/CAS-25, D/CAS-85 and D/CAS-103 formats. - Added IRC notifications for Travis CI. - Added measured dimensions from an UMD. - Added media types for NEO GEO CD, PC-FX. - Added new image format designed to store as much information about media as a drive returns: dicformat. - Added numeric values to media types. - Added project to create test filesystems on 16-bit OS/2. - Added project to create test filesystems on 32-bit OS/2. - Added project to create test filesystems on DOS. - Added project to create test filesystems on Mac OS. - Added size of 640MiB magneto-optical disk. - Added support for writing disc images. - Compliant with GDPR. - Corrected floptical geometry to data according to IRIX. - Do not assume pointers are 32-bit in several Windows device calls. - Fixed when statistics settings are null. - Minimum .NET Framework version is now 4.6.1. - Sort verbs list. - Support newest XDG Base Directory Specification for Linux. # [4.0.1.0] - 2018-01-06 ## Fixes ### Apple DOS and ProDOS interleaved disk images - Fixed interleaving values. ### Apple Nibble disk image - Fixed detection of DOS vs ProDOS sector order. ### Apple 2IMG disk image - Fixed deinterleaving of DOS and ProDOS sector order. - Fixed denibblizing images. ### Apple ProDOS filesystem - Fixed detection on Apple II disks. ### UCSD Pascal filesystem - Added support for Apple II variants (two physical sectors per logical sector and little endian fields). # [4.0.0.0] - 2017-12-25 ## Added ### - Advanced Disc Filing System - Added support for ADFS-S, ADFS-M, ADFS-L, ADFS-D, ADFS-E, ADFS-E+, ADFS-F, ADFS-F+ and ADFS-G. ### - Apple Partition Map - Added support for decoding Driver Description Map. - Added support for maps without Driver Description Map. - Added support for old partition table. ### - Commands - Added separate application to debug commands sent to devices. - list-devices: Lists devices that can be used for device dependent commands. - list-encodings: Lists supported character encodings. ### - Create Sidecar command - Added support for hashing DiscFerret flux images. - Added support for hashing KryoFlux STREAM flux images. - Added support for hashing SuperCardPro flux images. - Added support for tape dumps where each tape-file is a separate dumped file. - Calculate checksum of contents not only of image file. - Consider each optical disc track as a separate partition. - Store superblock modification time on sidecar. - Support tracks. - Use dump drive information from images that support it. ### - Decoders - Xbox DMI. - Xbox Security Sectors. ### - Devices - MMC. - PCMCIA block devices. - SCSI Streaming Devices (aka "tapes"). - SecureDigital. ### - Device commands - Add ATA and SCSI commands support for FreeBSD. - Add ATA commands support for Windows. - Add retrieval of USB information on Windows. - Add SecureDigital/MMC commands support for Windows. ### - Disc images. - Alcohol 120%. - Anex86. - Apple DOS interleaved (.do). - Apple New Disk Image Format (aka NDIF, aka img, aka DiskCopy 6). - Apple Nibble (aka NIB). - Apple ProDOS interleaved (.po). - Apple Universal Disk Image Format (aka UDIF, aka dmg). - BlindWrite 4. - BlindWrite 5. - CisCopy (aka DC-File or DCF). - CloneCD. - CopyQM. - CPCEMU Disk File. - CPCEMU Extended Disk File. - D64. - D71. - D81. - Digital Research's DiskCopy. - DiscJuggler. - HD-Copy. - IBM SaveDskF. - IMD. - MAME Compressed Hunks of Data (aka CHD). - Parallels Hard Disk Image (aka HDD). - Partclone disk images - Partimage disk images - QEMU Copy-On-Write (aka QCOW). - QEMU Copy-On-Write v2. - QEMU Enhanced Disk (aka QED). - Quasi88 (.D77/.D88). - Ray Arachelian's Disk IMage (.DIM). - RS-IDE hard disk images. - Spectrum floppy disk image (.FDI) - T98. - VHDX. - Virtual98. - VMware. - X68k .DIM. ### - DiskCopy 4.2 disk image - Added support for invalid images that use little-endian values. - Added support for images created by macOS that don't have a format byte set. - Use resource fork to get DiskCopy version used to create them. ### - Dumping - Added the ability to resume a partially done dump, even on a separate drive. - Added the ability to skip dumping the Lead-in. - Allow creation of a separate subchannel file. - Create dump log. - Dumping optical media creates an Alcohol 120% descriptor file. - Raw dump of DVD with Matshita recorders. - XGD with Kreon drives. ### - ext2/3/4 filesystem - Added new superblock fields. - Added support for devices with sectors bigger than 512 bytes. ### - FAT filesystem - Added DEC Rainbow's hard-wired BPB. - Added support for volumes with 256 bytes/sector. - Added support for ACT Apricot BPB. - Gets volume label, creation time and modification time from root directory if available. ### - Filesystems - Apple DOS. - CP/M. - Detecting AO-DOS. - Detecting AtheOS. - Detecting CD-i. - Detecting Commodore 1540/1541/1571/1581. - Detecting cram. - Detecting Cray UNICOS. - Detecting dump(8) (Old historic BSD, AIX, UFS and UFS2 types). - Detecting ECMA-67. - Detecting exFAT. - Detecting Extent File System (aka SGI EFS). - Detecting F2FS. - Detecting FAT+. - Detecting fossil. - Detecting HAMMER. - Detecting High Sierra Format. - Detecting HP Logical Interchange Format. - Detecting IBM JFS. - Detecting Locus. - Detecting MicroDOS file system. - Detecting NILFS2. - Detecting OS-9 Random Block File (aka RBF). - Detecting Professional File System (aka PFS). - Detecting QNX 4. - Detecting QNX 6. - Detecting Reiser. - Detecting Reiser4. - Detecting RT-11. - Detecting SmartFileSystem (aka SFS, aka Standard File System). - Detecting Squash. - Detecting Universal Disk Format (aka UDF). - Detecting Veritas. - Detecting VMware. - Detecting Xbox. - Detecting XFS. - Detecting Zettabyte File System (aka ZFS). - UCSD Pascal. ### - Filters - AppleDouble. - Apple PCExchange. - AppleSingle. - BZIP2. - GZIP. - LZIP. - MacBinary. - XZ. ### - GUID Partition Table - New type GUIDs. ### - ISO9660 filesystem - Added detection of AAIP extensions. - Added detection of Apple extensions. - Added detection of EFI Platform ID for El Torito. - Added detection of RRIP extensions. - Added detection of SUSP extensions. - Added detection of XA extensions. - Added detection of ziso extensions. ### - Lisa filesystem - Full read-only support. ### - Media types - DDS, DDS-2, DDS-3, DDS-4. - HiFD. - IOMEGA Clik! (aka PocketZip). - IOMEGA JAZ. - LS-120, LS-240, FD32MB. - NEC floppies. - Old DEC hard disks - SHARP floppies. - XGD3. ### - Partitions - Acorn FileCore. - ACT Apricot. - BSD disklabels. - DEC disklabels. - DragonFly BSD. - Human68k. - MINIX subpartitions. - NEC PC-9800. - Plan9 partition table. - Rio Karma. - SGI Disk Volume Headers. - UNIX hardwired partition tables. - UNIX VTOC. - XENIX partition table. ### - SCSI decoding - Handling of EVPDs smaller than length field. - Handling of modes 02h, 04h and 1Ch smaller than expected. - Prettyfying of mode 0Bh. ### - SmartFileSystem - Added support for version 2. ### - Statistics - Added version and operating system statistics. ### - Sun disklabel - Added bound checks. - Added support for 16-entries VTOC. - Added support for pre-VTOC disklabels. - Corrected structures for 8-entries VTOC. ### - System V filesystem - Added COHERENT offsets. - Check for it starting on second cylinder. - Corrected cluster size calculation. - Corrected detection between Release 2 and Release 4. - Corrected Release 2 superblock parameters. - Enlarged NICFREE for Version 7. ### TeleDisk images - Added support for Advanced Compression. - Added support for floppy lead-out. - Added variable sectors per track support. ## Fixes ### - AmigaDOS filesystem - Corrected checksum calculation. - Corrected cluster size calculation. - Corrected root block location. - Corrected support for AROS i386 variant that has a PC bootblock before the AmigaDOS bootblock itself. - Detection on hard disks or with clusters bigger than 1 sector. - Tested FFS2. ### - Apple Partition Map - Added bound checks. - Added support for decoding Driver Description Map. - Added support for maps without Driver Description Map. - Added support for old partition table. - Corrected partition start when map it's not on start of device. - Corrected support for misaligned maps, like on CDs. - Cut partitions that span outside the device. ### - cdrdao - Audio track matching. - Corrected images that start with comments. - Prevent reading binary files. ### - CDRWin - CD-Text detection. - CD+G data return. - Fixed composer parsing. - Prevent reading binary files. ### - CP/M filesystem - Corrected cluster count calculation. - Corrected directory location on CP/M-86. - Corrected sector reading. - Skip media types that were never used as a CP/M disk. ### - Create Sidecar command - Corrected creation when path is absolute. ### - Device commands - Do not send SCSI INQUIRY to non-SCSI paths on Linux. ### - Device reports - Call ATA READ LONG last, as it confuses some drives. - Try SCSI READ LONG (10) until max block size (65535). ### - DiskCopy 4.2 - Corrected track order for Lisa and Macintosh Twiggy. ### - Dreamcast GDI images - Prevent reading binary files. ### - Dumping - Calculation of streaming device dumping speed. - Corrected dumping CD-R and CD-RW. - Optical media with 2048 bytes/sector now get ".iso" file extension. - Retry when SCSI devices return reset status. - Streaming Devices now store block size changes in metadata sidecar. - Wait for SCSI devices to exit ASC 28h (MEDIUM CHANGE) status. ### - ext2/3/4 filesystem - Use os type as XML system identifier. ### - FAT filesystem - Behaviour with some non-compliant media descriptors. - Corrected 5.25" MD1DD detection. - Corrected boot code detection. - Corrected misaligned volumes on optical media. - Rewritten to better detect Atari, MSX, *-DOS and ANDOS variants. - Use OEM name as XML system identifier. ### - Guid Partition Table - Added bound checks. - Corrected misaligned tables on optical media. - Corrected when table is smaller than one sector. ### - HFS filesystem - Corrected detection of a PowerPC only bootable volume (no boot sector). - Corrected misaligned volumes on optical media. - Corrected volume serial number case. ### - HFS+ filesystem - Corrected misaligned volumes on optical media. - Corrected misalignment of fields in Volume Header. - Use last mount version as XML system identifier. ### - HPFS filesystem - Corrected cluster size. - Detect boot code. - Show NT flags. - Use OEM name as XML system identifier. ### - ISO9660 filesystem - Complete rewrite. - Check that date fields start with a number. ### - Master Boot Record partitioning scheme - Check real presence of a GPT. - Corrected infinite looping on extended partitions. - Remove disklabels support. - Support misaligned MBRs on optical media. - Support NEC extensions. - Support OnTrack extensions. ### - MINIX filesystem - Added support for v1 and v2 created on MINIX 3. - Corrected misaligned volumes on optical media. ### - Nero Burning ROM - Corrected track handling. - Corrected typo on parsing v2 images. - Disc types. - Do not identify positively if footer version is unknown. - Lead-In handling. - Mode2 RAW sectors. - Session count. ### - NeXT partition table - Added missing fields. - Corrected offsets. - Cut partitions that span outside the device. ### - ODS filesystem - Corrected cluster size calculation. - Corrected misaligned volumes on optical media. ### - ProDOS filesystem - Corrected cluster size calculation. - Corrected misaligned volumes on optical media. - Volume size. ### - Rigid Disk Block partition scheme - Corrected AMIX mappings. ### - SCSI decoding - Handling of EVPDs smaller than length field. - Handling of modes 02h, 04h and 1Ch smaller than expected. - Prevented overflow on MMC FEATURES decoding. - Prevented overflow on SCSI MODE PAGE decoding. ### - SmartFileSystem - Added support for version 2. ### - Sun disklabel - Added bound checks. - Corrected structures for 8-entries VTOC. ### - System V filesystem - Check for it starting on second cylinder. - Corrected cluster size calculation. - Corrected detection between Release 2 and Release 4. - Corrected Release 2 superblock parameters. - Enlarged NICFREE for Version 7. ### - UFS filesystem - Corrected superblock locations. - Move superblock to a single structure and marshal it, corrects detection of several variants. ## Changes - Added a public changelog. - Added a side application to create device reports under Linux without a .NET environment. - Added operating system version statistics. - Added partitioning scheme name to partition structures. - Added several internal tests to prevent regression on changes. - Added support for different character encodings. - Added support for filters. - Added support for nested partitioning schemes. - Added support for propagating disk geometry, needed by PC-98 partitions and old MBRs. - Better support for decoding multibyte encodings from C, Pascal and space-padded strings. - Changed handling of compressed files, using temporary files and caching. - Corrected casting on big-endian marshalling that was failing on some .NET Framework versions. - Corrected filter list reuse. - Disabled EDC check on CDs because it is not working (TODO). - Filesystems now have access to full partition structure. - Filters no longer return their own extension when requested for filename. - Moved Claunia.RsrcFork to NuGet. - Priam tags. - Support drive firmware inside disc images. - Support subchannel with only Q channel. # [3.0.0.0] - 2016-07-19 ## Added ### - Commands - benchmark: Tests speed for checksum algorithms. - create-sidecar: Creates an XML sidecar with metadata. - decode: Decodes and prints a disk tag present on the image. - device-info: Prints device information. - dump-media: Dumps media to a disk image. - entropy: Calculates disk entropy. - media-info: Prints media information. - scan-media: Scans media for errors. ### - Checksums - Adler-32 - SpamSum ### - Devices - ATA on Linux. - ATA on Windows (untested). - FireWire on Linux. - SCSI on Linux. - SCSI on Windows (untested). - USB on Linux. ### - Disc images - Apple 2IMG. - CDRDAO. - Dreamcast GDI. - VirtualPC. ### - Fast File System (FFS) - Atari UNIX variant. ### - Filesystems - Acorn ADFS. - AmigaDOS. - Apple File System, aka APFS. - Apple ProDOS. - btrfs. - Nintendo Gamecube. - Nintendo Wii. ### - Partitions - Amiga Rigid Disk Block (aka RDB). - Atari. - Sun. - (U)EFI GPT. ## Changes ### - PrintHex command - Allow to print several sectors. ## Fixes ### - Be filesystem - Endianness. - Support for Be CDs. ### - CDRWin disk image - Behaviour on .NET Framework. - Detection of CD-ROM XA. - Flags. - Partition calculations. ### - Fast File System (FFS) - False positives with 7th Edition. ### - ISO9660 - Dreamcast IP.BIN decoding. - Sega CD IP.BIN decoding. ### - System V Filesystem - Big endian support # [2.20] - 2014-08-28 ## Added ### - Checksums - Reed Solomon. ## Fixes ### - Apple Partition Map - Disks with 2048 bytes/sector but a 512 bytes/sector map. ### - HFS - Disks with 2048 bytes/sector but a 512 bytes/sector filesystem. # [2.10] - 2014-08-25 ## Added ### - Checksums - CD EDC and ECC. - CRC16. ### - Commands - Verify: Verifies disk image contents, if supported. ### - Disc images - Nero Burning ROM. # [2.0] - 2014-07-03 ## Added ### - Commands - analyze: Gives information about disk image contents as well as detecting partitions and filesystems. - checksum: Generates CRC32, CRC64, RIPEMD160, MD5, SHA1, SHA256, SHA384 and SHA512 checksums of disk image contents. - compare: Compares two media images. - printhex: Prints a hexadecimal output of a sector. ### - Disc images - RAW (sector by sector). ### - Media types - BD-R. - BD-RE XL. - FDFORMAT. ## Fixes ### - FAT filesystem - Workaround FAT12 without BIOS Parameter Block. ### - MBR partitions - Do not search for them on disks with less than 512 bytes/sector. ### - ODS-11 filesystem - Do not search for them on disks with less than 512 bytes/sector. # [1.10] - 2014-04-21 ## Added ### - Disc images - Sydex TeleDisk. # [1.0] - 2014-04-17 ## Added ### - Filesystems - Detecting BeFS. - Detecting ext. - Detecting ext2. - Detecting ext3. - Detecting ext4. - Detecting FAT12. - Detecting FAT16. - Detecting FAT32. - Detecting FFS. - Detecting HFS+. - Detecting HFS. - Detecting HPFS. - Detecting ISO9660. - Detecting LisaFS. - Detecting MFS. - Detecting MinixFS. - Detecting NTFS. - Detecting ODS-11. - Detecting Opera. - Detecting PCEngine. - Detecting SolarFS. - Detecting System V. - Detecting UFS. - Detecting UFS2. - Detecting UnixWare boot. ### - Disc images - Apple DiskCopy 4.2. - CDRWin. ### - Partitions - Apple Partition Map (aka APM). - Master Boot Record (aka MBR). - NeXT disklabels. [6.0.0-alpha.15.1]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.15.1 [6.0.0-alpha.15]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.15 [6.0.0-alpha.14]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.14 [6.0.0-alpha.13]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.13 [6.0.0-alpha.12]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.12 [6.0.0-alpha.11]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha.11 [5.4.1]: https://github.com/aaru-dps/Aaru/releases/tag/v5.4.1 [5.4]: https://github.com/aaru-dps/Aaru/releases/tag/v5.4 [6.0.0-alpha10]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha10 [6.0.0-alpha9]: https://github.com/aaru-dps/Aaru/releases/tag/v6.0.0-alpha9 [5.3.2]: https://github.com/aaru-dps/Aaru/releases/tag/v5.3.2 [5.3.1]: https://github.com/aaru-dps/Aaru/releases/tag/v5.3.1 [5.3.0]: https://github.com/aaru-dps/Aaru/releases/tag/v5.3.0 [5.2.0.3330]: https://github.com/aaru-dps/Aaru/releases/tag/v5.2.0.3330 [5.1.0.3214]: https://github.com/aaru-dps/Aaru/releases/tag/v5.1.0.3214 [5.0.1.2884]: https://github.com/aaru-dps/Aaru/releases/tag/v5.0.1.2884 [5.0.0.2879]: https://github.com/aaru-dps/Aaru/releases/tag/v5.0.0.2879 [4.5.1.1692]: https://github.com/aaru-dps/Aaru/releases/tag/v4.5.1.1692 [4.5.0.1663]: https://github.com/aaru-dps/Aaru/releases/tag/v4.5.0.1663 [4.0.1.0]: https://github.com/aaru-dps/Aaru/releases/tag/v4.0.1.0 [4.0.0.0]: https://github.com/aaru-dps/Aaru/releases/tag/v4.0.0.0 [3.0.0.0]: https://github.com/aaru-dps/Aaru/releases/tag/v3.0.0.0 [2.20]: https://github.com/aaru-dps/Aaru/releases/tag/v2.2 [2.10]: https://github.com/aaru-dps/Aaru/releases/tag/v2.1 [2.0]: https://github.com/aaru-dps/Aaru/releases/tag/v2.0