cdrtools
Cdrtools is a suite of open-source command-line programs designed for recording and authoring CD, DVD, and Blu-ray media.[1] It includes key utilities such as cdrecord for burning discs, readcd for extracting data, cdda2wav for ripping audio CDs, and tools like mkisofs for creating ISO filesystem images.[1] Development of cdrtools originated in February 1996, building on the foundational libscg SCSI Pass Through Interface library first created in June 1986.[1] The project supports 28 operating systems, including Linux, Solaris, Windows, and macOS, making it highly portable for cross-platform use.[1] Initially released under various licenses, it was relicensed to the Common Development and Distribution License (CDDL) in May 2006 to provide greater freedom compared to the GNU General Public License.[1] Notable for its continuous evolution since inception, cdrtools added Blu-ray support in June 2007 and remains actively maintained through the Schilytools project.[1] A controversial Debian fork known as cdrkit emerged in 2004, but it has been criticized for introducing bugs and failing to keep pace with the original codebase.[1] The software's emphasis on reliability and broad hardware compatibility has made it a staple in Unix-like environments for optical media tasks.[2]Overview
Description and Purpose
cdrtools is a collection of independent open-source projects comprising command-line programs designed for creating, reading, and writing CD, DVD, and Blu-ray optical media.[1] Its primary purpose is to provide low-level control over optical drives, enabling users to perform tasks such as burning data or audio discs, ripping content from discs, and generating ISO filesystem images, all without relying on graphical user interfaces.[2] This suite allows precise manipulation of disc authoring processes in Unix-like environments, serving as a backend for various applications and scripts.[3] Since its inception in the mid-1990s, cdrtools has played a foundational role in optical media handling for Linux and Unix users, predating many contemporary graphical tools and establishing standards for command-line disc operations.[1] The flagship tool, cdrecord, exemplifies this by facilitating direct recording to media.[4] Key technical features include support for SCSI, ATAPI, and USB interfaces through the libscg library, which handles SCSI command pass-through for compatibility across drive types.[4] It also enables multi-session disc handling, allowing incremental additions to existing media, and on-the-fly writing, where data is streamed directly to the drive without intermediate file creation.[1]Licensing and Distribution
Cdrtools was originally released under the GNU General Public License (GPL) for most components until 2006, though some parts, such as certain utilities, were under custom permissive licenses developed by Jörg Schilling.[5] In May 2006, Schilling relicensed select modules, including the cdrecord program and the libscg SCSI interface library, to the Common Development and Distribution License (CDDL), an OSI-approved open-source license intended to provide greater freedom than the GPL.[1][5] This change was argued by the Free Software Foundation and others to create incompatibilities with GPL version 2, particularly when combining CDDL-licensed build tools with GPL code, resulting in significant distribution challenges for binary packages in various software repositories.[5] Currently, cdrtools operates under a mixed licensing scheme, combining the CDDL for core components like cdrecord and libscg, GPL version 2 for tools such as mkisofs, and Schilling's custom permissive license for additional elements.[6][5] The source code remains freely available for download as tarballs from the official project site on SourceForge and various mirrors, allowing users to compile and distribute binaries under the respective component licenses.[1][7] In terms of distribution, cdrtools is included in several Linux distributions, such as openSUSE, where it is packaged directly from upstream sources.[8] However, due to the licensing incompatibilities, it has been replaced in Debian and Ubuntu by the cdrkit fork, a GPL-only alternative based on the last fully GPL-licensed version of cdrtools from 2006.[9][10] Users in other distributions like Fedora often rely on third-party repositories or manual compilation for access, as official inclusion has been avoided over licensing concerns.[11][12]Components
Burning and Writing Tools
The burning and writing tools in cdrtools primarily consist of cdrecord, a command-line utility designed for recording data or audio to Compact Discs (CDs), Digital Versatile Discs (DVDs), and Blu-ray Discs (BDs) using compatible optical drives. It supports a range of recording modes, including Disk-At-Once (DAO), which writes the entire disc in a single continuous operation requiring pre-known track sizes; Track-At-Once (TAO), the default mode that allows individual tracks to be written sequentially; and Session-At-Once (SAO), an intermediate approach for session-based writing. Additionally, cdrecord enables multi-session appending with the-multi option, facilitating incremental data addition to partially recorded media like CD-R or DVD-R.[13]
Cdrecord provides advanced control over the burning process, including speed adjustment via the speed=# parameter (where # specifies the desired write speed, defaulting to the drive's maximum or the lowest with speed=0 for MMC-compliant drives), and buffer management through the fs=# option to set the FIFO buffer size (defaulting to 4 MB, with recommendations up to 128 MB for stability). It supports overburning with the -overburn flag, allowing data beyond the disc's nominal capacity—such as an extra 88 seconds on audio CDs—though this risks media incompatibility. A simulation or dry-run mode is available via -dummy, which mimics the write process without committing to the disc (unsupported for DVD+ and Blu-ray formats). For direct hardware interaction, cdrecord employs SCSI pass-through via the libscg library, using device specifications like dev=1,6,0 in SCSI CAM notation or paths such as /dev/sr0 on Linux systems.[13]
The tool handles both write-once media (e.g., CD-R, DVD-R, BD-R) and rewritable types (e.g., CD-RW, DVD-RW, DVD+RW, BD-RE), automatically detecting and adapting to the medium's properties during initialization. Error handling includes SCSI sense data reporting for diagnostics, though specific error correction mechanisms like C2 pointers are not directly configurable in the writing process. Basic command syntax follows cdrecord [options] dev=device [track options] track1...trackn; for example, burning an ISO image might use cdrecord dev=/dev/sr0 speed=8 image.iso to write at 8x speed to the specified device. Cdrecord can integrate outputs from filesystem tools like mkisofs as input files for data sessions.[13]
Ripping and Reading Tools
The ripping and reading tools in cdrtools provide utilities for extracting audio and data from optical media, emphasizing accuracy and flexibility in handling CD, DVD, and related formats. These tools, developed by Jörg Schilling, enable digital extraction without analog conversion, supporting both consumer and professional workflows for archiving or duplication.[14][15] The primary audio ripping tool is cdda2wav, which extracts CDDA (Compact Disc Digital Audio) tracks from compatible CD-ROM drives via digital SCSI commands. It supports output in formats such as WAV, AIFF, AIFC, AU/Sun, and raw CDR, with configurable endianness for cross-platform compatibility.[14] Extraction can occur track-by-track (e.g., specifying-t 1 for the first track), in ranges (e.g., -t 1+3 for tracks 1 through 3), or for the full disc (e.g., -B to create one WAV file per track).[14][16]
Key features of cdda2wav include jitter correction through adjustable overlap sectors (-P option, where 0 disables it and higher values increase correction intensity, dynamically adapting to read errors) and integration with libparanoia for enhanced accuracy in paranoia mode (enabled by default with full error recovery but no skipping).[14] It also retrieves metadata such as CD-Text (displayed via integration with servers like freedb.org) and ISRC codes (using -v trackid for verbose output per track).[14] To minimize read errors, speed throttling is available via the -S option (e.g., -S 1 for single speed), which reduces drive velocity for more reliable extraction on imperfect media.[14] A representative command for high-accuracy ripping is cdda2wav -v 2 -paranoia dev=/dev/sr0, which enables verbose logging (level 2) and paranoia mode on the specified device.[14]
For data extraction, readcd handles reading from CDs, DVDs, and Blu-ray discs in either raw (full sub-channel data with -clone) or cooked (standard data sectors) modes, producing output files suitable for imaging or verification.[15] It supports multi-session discs by accessing the full table of contents (-fulltoc) and allows specification of sector ranges (e.g., sectors=150-10000) for partial reads.[15] Error recovery options include configurable retries (default 128, adjustable via retries=#), continuation on uncorrectable errors (-noerror), and ignoring ECC/EDC corrections (-nocorr), with scanning modes like -c2scan for detecting C2 errors on CDs.[15] Output can be directed to files (e.g., f=cdimage.raw) or stdout, and speed is throttled via speed=# to enhance reliability.[15] An example for full CD data extraction is readcd dev=2,0 f=cdimage.raw, targeting a SCSI device at target 0 on bus 2.[15]
These tools can be combined in duplication workflows, such as ripping with cdda2wav followed by writing via cdrecord, to create exact copies of audio or data discs.[14]
Filesystem Creation Tools
The primary tool in cdrtools for filesystem creation is mkisofs, a pre-mastering program that generates ISO-9660 filesystems along with hybrid variants such as Joliet, HFS, and UDF, enabling compatibility across different operating systems like Unix, Windows, and Macintosh.[17] It captures a snapshot of a directory tree to produce a binary image suitable for optical media, supporting features like bootable discs via the El Torito specification, which allows embedding boot images such as floppy or hard disk emulation files (e.g., 1.2 MB, 1.44 MB, or 2.88 MB floppy images).[17] Rock Ridge extensions are also integrated to preserve Unix-style attributes, including permissions, symbolic links, ownership, and longer filenames beyond ISO-9660 restrictions.[17] Key features include volume labeling for identifying the disc (up to 32 characters with the-V option), file filtering to exclude or hide specific files or patterns (e.g., via -m "*.o" for object files or -hide for visibility control in different filesystems), padding for sector alignment (defaulting to 150 sectors or 300 KB with -pad), and limited support for multi-session media through options like -M (merge previous session) and -C (for continuing a session), allowing incremental additions to partially recorded discs, but it does not support creating full multi-volume ISO sets beyond a single image.[17] For creating a hybrid ISO-9660 image with Joliet (for Unicode filenames up to 64 characters) and Rock Ridge extensions, a representative command is:
This produces an image filemkisofs -o disc.iso -J -R /path/to/filesmkisofs -o disc.iso -J -R /path/to/files
disc.iso that supports longer names and multibyte characters via Joliet while maintaining POSIX compatibility through Rock Ridge.[17]
The core ISO-9660 standard imposes limitations such as 8.3 filename format (8 uppercase characters plus a 3-character extension), a maximum path length of 255 characters, and up to 8 directory nesting levels, with an overall volume size cap of 8 TB and file sizes up to 8 TB (requiring ISO level 3 or higher for files over 2 GB).[17] Extensions like Joliet address filename constraints by enabling up to 64 Unicode characters per component for better Windows support, while Rock Ridge uses System Use Sharing Protocol (SUSP) records to extend names up to 255 characters and include Unix metadata without altering the base ISO-9660 structure.[17] HFS hybrids further allow Macintosh compatibility with a 2 GB file size limit and options for Apple-specific extensions like creator/type codes.[17]
In forks of cdrtools, such as cdrkit, the tool has been renamed to genisoimage while retaining core functionality for ISO-9660 and hybrid image creation.[18] These generated filesystem images can be directly integrated with burning tools like cdrecord for physical disc production.[17]
History
Origins and Early Development
Cdrtools traces its origins to the work of Jörg Schilling, a Unix developer, who created cdrecord in February 1996, specifically on February 4, as a free, open-source tool for writing CD-R media on Unix-like systems, building on his earlier SCSI driver library (libscg) developed in June 1986.[1] The initial focus was on SCSI-connected CD recorders, enabling users to burn data and audio CDs from the command line on platforms such as SunOS and Linux.[19] Early pre-1.0 versions of cdrecord in the late 1990s emphasized compatibility with SCSI-based CD-R drives and were distributed under the GNU General Public License (GPL), reflecting the open-source ethos of the era.[20] Key developments during this period included the integration of cdda2wav, an audio extraction tool originally written by Heiko Eißfeldt in 1993 for Linux, which was adapted to use Schilling's libscg interface starting in 1998 to enhance portability and reliability for ripping CD-DA tracks.[21] In 1997, mkisofs—a utility for generating ISO 9660 filesystem images, originally developed by Eric Youngdale—was incorporated into the cdrtools suite, allowing users to prepare disc images compatible with Joliet and Rock Ridge extensions for better cross-platform file handling.[22] Significant milestones in the late 1990s included support for emerging CD-RW drives, introduced commercially in 1996, with cdrecord adding rewrite capabilities by 1997 to enable multi-session recording and disc erasure on compatible hardware.[23] Multi-platform portability expanded rapidly, with adaptations for Solaris, FreeBSD, and other BSD variants achieved through the flexible libscg driver, supporting over 20 operating systems by the end of the decade and broadening access beyond Linux to diverse Unix environments.[24] These advancements laid the foundation for cdrtools as a comprehensive suite, evolving from a single burning utility into a collection of interrelated tools for optical media management.[19]Expansion to DVD and Blu-ray Support
As cdrtools evolved beyond its initial focus on CD media in the late 1990s, version 1.11, released in 2001, introduced support for DVD writing through the commercial ProDVD edition of cdrecord, enabling recording to DVD-R and DVD-RW media.[25] This expansion addressed the growing adoption of DVD as a higher-capacity optical format, with cdrecord handling basic write operations compatible with SCSI-3/mmc-compliant drives across UNIX-like systems and Windows. Layer break handling for dual-layer DVDs was implemented to manage seamless transitions between layers on DVD-R DL and DVD+R DL discs, ensuring data integrity for up to 8.5 GB capacities.[13] Subsequent releases enhanced DVD compatibility, including support for DVD+R and DVD+RW variants starting with ProDVD version 2.01a11, which allowed writing to these media types alongside defect management for error correction on rewritable discs.[25] Key features like booktype setting were integrated to optimize media recognition by players, while UDF filesystem support via tools like mkisofs and the dedicated UDF formatter enabled packet-writing and incremental file additions on DVDs, overcoming limitations of traditional ISO-9660 for dynamic content.[26] These advancements tackled challenges such as higher data rates—up to 16x for DVD—requiring precise buffer management and drive calibration to prevent underruns during burns. Blu-ray support was integrated into the open-source cdrtools starting in 2007 with version 2.01.01a29, extending cdrecord's capabilities to high-definition optical media and building on the DVD foundations for broader format compatibility.[1] Later versions, such as 3.0 in 2010, further refined Blu-ray writing, including handling for high-capacity discs up to 100 GB via BDXL and M-DISC media, provided the drive supports these extensions.[27] This progression addressed escalated data rates—reaching 12x or higher for Blu-ray—through improved SCSI command implementation and filesystem integration, allowing cdrtools to remain relevant for archival and video applications on modern optical drives.Integration into Schily Tools
In the early 2000s, the cdrtools suite was incorporated into the broader Schily Tools collection, a set of utilities developed and maintained by Jörg Schilling. This bundling integrated cdrtools components, such as cdrecord and mkisofs, with other tools including the star archiver for tape and file archiving, and smake for advanced build management, fostering cohesive development across related software projects.[28] The integration provided several key benefits, including the use of shared libraries like libschily for common functionality in I/O operations and error handling, a unified build system centered on smake to streamline compilation, and enhancements for cross-platform compatibility across Unix-like systems.[29][28] A significant milestone in this framework was the release of cdrtools version 2.0 in 2004, marking the first major update under the expanded Schily Tools umbrella and introducing improved support for multi-session recording and SCSI command handling.[30] This structure enabled ongoing maintenance of cdrtools within Schily Tools under Schilling's leadership until his passing in 2021, after which volunteers continued the project.[31]Controversies
Hardware Access Disputes
Joerg Schilling, the primary developer of cdrtools, advocated for direct access to SCSI hardware through the /dev/sg interface to achieve precise control over CD recording operations, bypassing higher-level kernel abstractions like the CD-ROM layer that he believed introduced unnecessary latency and unreliability.[32] This approach allowed cdrtools components, such as cdrecord, to send raw SCSI commands directly to optical drives, enabling features like fine-tuned buffer management and real-time scheduling to prevent underruns during burning.[33] In the mid-2000s, tensions arose as Linux kernel versions 2.6 and later enforced stricter use of the standard SCSI generic (sg) driver for such access, which Schilling criticized as unreliable due to changes in buffer allocation and memory locking behaviors that conflicted with POSIX standards.[34] For instance, kernel 2.6.9 altered how mlockall() interacted with setuid processes, preventing cdrecord from allocating sufficient locked memory for SCSI transfers after privilege drops, prompting Schilling to implement workarounds like raising RLIMIT_MEMLOCK limits and issuing warnings in release notes about potential kernel incompatibilities.[35] These disputes manifested in heated exchanges, including a 2006 debate on the Debian CD writing mailing list where Schilling accused the kernel of self-noncompliance, while developers defended its POSIX adherence and requested removal of the warnings.[34] Further escalation occurred in 2006 on the Linux Kernel Mailing List (LKML), where Schilling clashed with developers, including Linus Torvalds, over the relevance of SCSI IDs for device addressing; Schilling insisted on their necessity for accurate hardware targeting in cdrecord, while Torvalds dismissed them as obsolete for modern interfaces like USB, advocating filename-based access instead.[36] Throughout 2006-2009, Schilling refused full adaptation to kernel-mandated changes, opting instead for custom patches to his libscg transport library and persistent warnings in cdrtools documentation about "unsettled issues" with Linux 2.5 and newer kernels.[37] These conflicts led to significant compatibility challenges on modern Linux distributions, where cdrtools often fails without elevated privileges or custom configurations, such as granting CAP_SYS_RAWIO capabilities to /dev/sg* devices or loading non-standard kernel modules to emulate older behaviors.[38] Users frequently encountered errors like "Cannot send SCSI cmd via ioctl" when running as non-root, necessitating workarounds that exposed systems to security risks or required kernel recompilation.[39] This technical friction contributed to broader tensions with distributions like Debian, intertwining with licensing disputes in Schilling's ongoing critiques.[34]License Compatibility Conflicts
In May 2006, Joerg Schilling, the lead developer of cdrtools, relicensed key components such as cdrecord and the libscg library from the GNU General Public License (GPL) version 2 to the Common Development and Distribution License (CDDL), asserting that the CDDL addressed incompatibilities with GPL v2 while protecting against unauthorized derivative works.[5][40] This shift applied to most parts of the suite except mkisofs, which remained under the GPL, and was motivated by Schilling's desire to counter what he described as aggressive interpretations of the GPL by certain Linux distributions.[40] Debian maintainers, viewing the CDDL as incompatible with the GPL due to its additional restrictions on patent grants and derivative works, responded by forking the last fully GPL-licensed version of cdrtools (2.01.01a08) to create the cdrkit project.[41][5] To avoid potential trademark conflicts with Schilling's branding, they renamed core tools—cdrecord became wodim, and mkisofs became genisoimage—while replacing the CDDL-licensed build system with CMake to ensure GPL compliance.[41] This fork was uploaded to Debian's unstable archive in September 2006 for community testing.[41] The relicensing had significant repercussions, leading to cdrtools' exclusion from Debian and influencing other distributions like Ubuntu to adopt cdrkit instead, prioritizing fully GPL-compatible alternatives.[9] The Free Software Foundation issued warnings about the CDDL's incompatibility with the GPL, stating that code under the two licenses could not be legally combined or linked, and urged developers to avoid the CDDL for such reasons.[5] Schilling, in turn, threatened legal action against what he termed "clones" and forks that he believed violated copyrights or GPL terms, including direct warnings to SUSE in 2009.[42][40] These tensions are detailed in Schilling's essays on his licensing philosophy, such as his analysis of why Linux distributions create "bad forks," which critiques GPL enforcement and defends the CDDL as granting greater user freedoms.[40] Debian's 2006 announcement further documents the fork's rationale, emphasizing the need to maintain open-source accessibility amid the license dispute.[41] The conflicts were compounded by parallel disputes over hardware access methods in cdrtools.Forks and Alternatives
Major Forks
The primary fork of cdrtools, known as cdrkit, was initiated in 2006 by Debian developers to preserve a fully GPL-licensed version of the suite after the original project's licensing shifted to include the incompatible CDDL.[41] This fork was based on cdrtools version 2.01.01a15, the last release under pure GPL terms, and aimed to maintain interface compatibility while addressing integration challenges with modern Linux kernels.[9] Key components include wodim as a replacement for cdrecord, focusing on optical disc writing via the kernel's SCSI generic (sg) driver for improved hardware abstraction and avoiding direct low-level SCSI access; genisoimage as an mkisofs equivalent for ISO 9660 image creation; and icedax for audio extraction from CDs. Unlike the original cdrtools, cdrkit removes CDDL-licensed elements, incorporates bug fixes for sg driver compatibility, and excludes author-specific patches, resulting in a more streamlined but less feature-rich implementation suited for distribution packaging. The libburnia project, emerging in the mid-2000s, provides a library-based alternative that evolved into tools like cdrskin, a command-line frontend designed for compatibility with cdrecord's interface but built on independent C libraries rather than forked source code from cdrtools. Comprising libburn for low-level disc burning, libisofs for ISO 9660 handling, and libisoburn for higher-level operations, libburnia emphasizes portability across Unix-like systems including GNU/Linux, FreeBSD, and Solaris, leveraging modern APIs for thread-safe and concurrent access to optical drives. Cdrskin, released under GPLv2+, supports CD, DVD, and Blu-ray media with options for overburning and multi-session writing, but differs from cdrtools by relying on kernel-mediated device access to mitigate hardware locking issues and by avoiding proprietary or dual-licensed dependencies. This approach prioritizes reliability in multi-user environments over the original suite's direct hardware interactions. Other variants include minimal adaptations of cdrtools for embedded systems, where subsets like cdrecord are stripped down for resource-constrained environments, though these lack widespread documentation or independent maintenance. Additionally, xorriso represents an evolution in ISO tool capabilities, with its xorrisofs mode emulating mkisofs options for Rock Ridge-enhanced images but sharing no source code with cdrtools; it integrates libburnia libraries for advanced multi-session and manipulation features on CD, DVD, and Blu-ray.[43] These forks collectively address the licensing conflicts that prompted their creation by ensuring pure GPL compliance and enhanced kernel integration.[42]Related Projects and Successors
One notable related project is libcdio, a cross-platform library that provides access to CD-ROM drives and CD images, offering functionality similar to cdrtools' readcd for low-level block reading and cdda2wav for audio extraction with error correction via its integrated cd-paranoia component.[44] Developed under the GNU Project, libcdio abstracts OS- and device-specific details, enabling applications to handle CD input and control without direct hardware dependencies. It is widely used in multimedia software, such as VLC media player for CD playback and ripping, and integrates with language bindings like Python's pycdio for broader ecosystem adoption.[44] xorriso and its companion tool xorrecord serve as modern successors to cdrtools' mkisofs and cdrecord, emulating their command-line interfaces while extending capabilities to ISO 9660 filesystem manipulation, multi-session operations, and burning to advanced media formats.[43] Part of the libburnia project, xorriso generates Rock Ridge-enhanced images and supports UDF filesystems for compatibility with DVD and Blu-ray discs, including BD-R and BD-RE media via MMC-5 commands.[43] xorrecord, invoked as a mode within xorriso (e.g., via-as cdrecord), handles direct recording tasks, providing backward compatibility with cdrtools options while adding features like session mounting on GNU/Linux and FreeBSD.[43]
cdrtools components have been integrated as backends in several graphical disc authoring suites, enhancing their usability for end-users. For instance, K3b, a KDE application for CD, DVD, and Blu-ray burning, can configure cdrtools (specifically cdrecord and mkisofs) as its writing and image-creation backend to support features like multi-session data discs and audio projects.[12] Similarly, Brasero, the GNOME disc-burning tool, supports cdrtools among its multiple backends (alongside growisofs and libburn), enabling on-the-fly burning, Joliet extensions, and multisession support for data and ISO images.[45] This integration allows these frontends to leverage cdrtools' SCSI-based hardware access for precise control over optical media. In parallel, growisofs from the independent dvd+rw-tools package evolved as a specialized frontend for DVD recording, piping mkisofs output directly to burners for ISO9660 growth on random-access media like DVD+RW, though it remains distinct from cdrtools' core development.[46]
Modern adaptations of cdrtools extend its reach beyond Unix-like systems through ports to non-Unix environments, such as Windows via the Cygwin POSIX compatibility layer. These ports compile the full suite—including cdrecord, cdda2wav, and mkisofs—using Cygwin's developer tools, requiring ASPI drivers for SCSI/ATAPI access and supporting Unix-style paths for operations like ISO creation and burning.[47] Pre-built binaries are available for Win32, facilitating tasks such as piping mkisofs-generated images to cdrecord on Windows hosts. The libburnia project continues active maintenance of related libraries and tools, with its latest release (1.5.6 in 2023) addressing overburning, bug fixes, and compatibility for CD, DVD, and BD media, including a cdrecord-emulating wrapper called cdrskin.[48] This ongoing effort ensures sustained support for optical disc workflows independent of cdrtools' original codebase. Ties to forks like cdrkit are evident in shared emulation goals, but libburnia emphasizes clean-room implementations.[48]
Development and Maintenance
Version Timeline
The development of cdrtools has progressed through several major versions, each introducing enhancements in media support, licensing, and system integration while addressing compatibility with contemporary hardware and operating system kernels. Early releases focused on foundational CD recording capabilities, evolving to encompass DVD and Blu-ray formats amid growing optical media adoption. Later iterations emphasized stability fixes and broader format compatibility, culminating in the final official release under original maintainer Jörg Schilling.| Version | Release Date | Major Changes |
|---|---|---|
| 1.0 | 1996-02-04 | Introduced basic CD-R and CD-RW recording support, enabling users to create and burn rewritable CDs on Unix-like systems with SCSI interfaces. Kernel compatibility limited to pre-2.4 Linux versions. |
| 1.11 | 2001 | Added initial DVD-R writing capabilities, expanding beyond CDs to support emerging DVD media; included improvements for multi-session CD handling. Enhanced compatibility with 2.4-series Linux kernels. |
| 2.0 | 2002-12-25 | Integrated into the broader Schily Tools suite for unified maintenance; added support for additional DVD formats like DVD+R. Improved SCSI transport layer for better kernel 2.6 compatibility. |
| 2.01 | 2004-09-09 | Added support for additional DVD formats; improved SCSI transport layer for better kernel 2.6 compatibility. |
| 3.00 | 2010 | Introduced full BDXL (Blu-ray XL) support for high-capacity discs up to 100 GB; enhanced Blu-ray writing and DVD-RAM handling. Updated for Linux kernel 2.6.32+ compatibility, including better libscg SCSI emulation. Relicensed primary components under the CDDL in May 2006 to resolve prior GPL compatibility issues.[49] |
| 3.01 | 2015-08-26 | Focused on stability improvements and previews for upcoming features in later alphas. |
| 3.02a09 | 2017-12-10 | Last alpha release under Jörg Schilling with accumulated bug fixes for stability, including resolutions for buffer underrun issues and improved error reporting; maintained kernel compatibility up to 5.x series.[50] |