Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

All notable changes are listed here. Versions follow [Semantic Versioning](https://semver.org/).

## [Unreleased]

### Docs

- Added Ventoy, YUMI, Universal USB Installer, XBOOT, LiveUSB Install and balenaEtcher to the references, roadmap (multiboot and USB-safety items) and credits. Ideas only; no code used.
- README: TL;DR and Status now describe 1.0.0 (they still said 0.2.0), Status is newest-first, and the backup section no longer says "in development, 0.6.0".

## [1.0.0] - 2026-11-08

### Added — first stable release
Expand Down
3 changes: 3 additions & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
- [windows2usb](https://github.com/ValdikSS/windows2usb) (Apache-2.0): Windows USB layout modes, write-through progress.
- [MultiOS-USB](https://github.com/Mexit/MultiOS-USB) (GPL-3.0) and [GLIM](https://github.com/thias/glim) (public domain configs): multiboot USB design. GPL code can't be copied into this MIT project.
- [Lufus](https://github.com/Hogjects/Lufus) (MIT): UI reference.
- [Ventoy](https://www.ventoy.net/en/index.html) (GPL-3.0): multiboot USB design reference. GPL code can't be copied into this MIT project.
- [YUMI](https://pendrivelinux.com/yumi-multiboot-usb-creator/), [Universal USB Installer](https://pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/), [XBOOT](https://pendrivelinux.com/xboot-multiboot-iso-usb-creator/), [LiveUSB Install](https://pendrivelinux.com/liveusb-install-live-usb-creator/) (licenses not stated on their pages): multiboot and live-USB creator UX references; ideas only.
- [balenaEtcher](https://github.com/balena-io/etcher) (Apache-2.0): write-safety and verify-after-write reference.
- [Automatic Ripping Machine](https://github.com/automatic-ripping-machine/automatic-ripping-machine) (MIT): auto-action on disc insert, parallel drives, notifications.
- [TotalImage](https://github.com/TotalImage/TotalImage) (MIT): image editor reference.
- [Redumper GUI](https://github.com/Deterous/Redumper-GUI) (GPL-3.0): preservation dumping UI reference.
Expand Down
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@

## TL;DR

IsoFoundry is a single free Windows program for working with CDs, DVDs, Blu-rays, disc image files (like `.iso`) and bootable USB drives. You pick a job from a grid of big buttons — burn a disc, copy one, turn files into an image, check an image for errors — or run the same job from the command line. The current release (0.2.0) is the complete disc-image toolkit: create, browse, extract, edit and convert images, mount them, and check them against known-good hash lists. Disc burning, audio and USB writing follow on the [roadmap](#roadmap). Nothing in IsoFoundry needs the internet, and it never sends data anywhere.
IsoFoundry is a single free Windows program for working with CDs, DVDs, Blu-rays, disc image files (like `.iso`) and bootable USB drives. You pick a job from a grid of big buttons — burn a disc, copy one, turn files into an image, check an image for errors — or run the same job from the command line. The current release (1.0.0) covers disc-image tools (create, browse, extract, edit, convert, mount, checksum and verify against known-good hash lists), bootable USB, audio conversion, disc burning, ripping and copying, and spanning backup. Disc, USB and audio hardware paths are proven against simulated drives and disk-image files, and stay **Unverified** on real hardware until field reports arrive (see [Status](#status)). Nothing in IsoFoundry needs the internet, and it never sends data anywhere.

## Status

- **0.2.0 (released)** — the complete M1 image toolkit (create, browse, extract, edit, convert, mount, checksum, verify): the task grid opens working windows for the five image tasks, and the same jobs run from the command line. The task windows open and render correctly on a real desktop (checked from the owner's captures, 2026-11-07); a full job run in each window is still to be confirmed.
- **0.5.0** — M4 disc burning plus M5 ripping and copying, through the `if-drive` layer (IMAPI2 burning, MMC/SPTI raw reading): burn image/files/MP3/video, erase, drive info with the disc's table of contents, disc → image with dump reports, disc → disc, secure audio ripping with AccurateRip checksums, audio CD burning, surface/quality scans and recovery from damaged discs — in task windows and from the command line. Every flow also runs against a built-in simulated drive (`--fake`), which is these milestones' test gate; no burn or rip has run on real hardware yet, so the hardware paths are **Unverified**.
- **1.0.0** — first stable release: the complete 1.0 feature set (image tools, bootable USB, audio conversion, burning, ripping/copying, spanning backup) promoted from 0.9.0 with no feature changes. Hardware paths remain field-Unverified, as stated in the limitations.
- **0.9.0** — M6 integration and the RC pass, grouped into one release: spanning backup/restore with a catalog on every span, auto-action on disc insert, shell completion scripts, Explorer verbs, an opt-in update check, MusicBrainz CD lookup, and completion actions (sound, notification, shutdown). Also fixes the M5 tasks showing as "planned" in the grid.
- **0.4.0** — M2 USB and M3 audio together (0.3.0 was never released separately): Create bootable USB and Install Windows to USB (`usb`, `windows-to-usb`; tested end-to-end against disk-image files — writing to a physical disk and booting from it are still to be confirmed on real hardware), and batch audio conversion with tags carried across and ReplayGain measurement. MP3 needs `libmp3lame.dll` at runtime; AAC uses Windows Media Foundation; both encode paths are **Unverified** on real hardware.
- **0.1.0** — the M0 shell: main window, command line and elevated helper.
- **Planned** — disc copying and ripping (0.6.0), integration extras (0.7.0). See the [roadmap](#roadmap).
**1.0.0 (2026-11-08)** is the first stable release. Hardware paths stay **Unverified** until real-drive reports arrive; see [docs/LIMITATIONS.md](docs/LIMITATIONS.md) and [AUDIT.md](AUDIT.md).

- **1.0.0** — the 0.9.0 feature set promoted with no feature changes: image tools, bootable USB, audio conversion, burning, ripping/copying, spanning backup.
- **0.9.0** — M6 integration plus the RC pass: spanning backup/restore with a catalog on every span, auto-action on disc insert, shell completion scripts, Explorer verbs, an opt-in update check, MusicBrainz CD lookup, completion actions (sound, notification, shutdown), failure drills, accessibility statement and measured budgets.
- **0.5.0** — M4 burning plus M5 ripping and copying through the `if-drive` layer (IMAPI2 burning, MMC/SPTI raw reading): burn image/files/MP3/video, erase, drive info, disc → image with dump reports, disc → disc, secure audio ripping with AccurateRip checksums, audio CD burning, surface scans and recovery. Every flow also runs against a built-in simulated drive (`--fake`), the test gate for these milestones; no burn or rip has run on real hardware yet, so those paths are **Unverified**.
- **0.4.0** — M2 USB and M3 audio together (0.3.0 was never released separately): Create bootable USB, Install Windows to USB, and batch audio conversion with tags and ReplayGain. USB is tested end-to-end against disk-image files; writing a physical disk and booting from it are still to be confirmed. MP3 needs `libmp3lame.dll` at runtime; AAC uses Windows Media Foundation; both encode paths are **Unverified** on real hardware.
- **0.2.0** — M1 image toolkit (create, browse, extract, edit, convert, mount, checksum, verify) in task windows and on the command line.
- **0.1.0** — M0 shell: main window, command line and elevated helper.
- **Next** — 1.x: multiboot USB, FAT/VHD image editing, Xbox XISO, Spanish UI. See the [roadmap](#roadmap).

## What the program does today

Expand Down Expand Up @@ -61,7 +63,7 @@ Writing is guarded: the system disk, the boot/pagefile disk and fixed disks are

- **`copy-to-image`, `copy-disc`, `rip`, `burn-audio`, `surface-test`, `recover`** — the M5 tasks, in windows and on the command line. Ripping a disc writes the image plus a dump report and a `.dat` hash file (raw rips add a CUE sheet; subchannel capture is optional). Audio rips are secure by default — every sector is read twice and the reads must agree — and land as WAV, FLAC or MP3 with AccurateRip checksums in the rip log. The surface test reads every sector once and grades the disc; recovery rips tolerantly and extracts what the filesystem still gives up, naming the files the bad sectors damaged. On the command line `--fake` reads a simulated source disc; in the windows the test drive does the same job.

## Backup and integration (in development, 0.6.0)
## Backup and integration (0.9.0)

`backup FOLDER` packs a folder onto as many discs as it needs — one ISO per span, burned spans with a prompt per disc, or a rehearsal on the simulated drive — with the full catalog and a SHA-256 for every file on every span. `backup-restore` rebuilds the folder from span folders or ISOs and verifies every checksum. The same work lives in the Backup task window.

Expand Down
11 changes: 11 additions & 0 deletions docs/references.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,14 @@ Primary sources to check before implementing or changing behavior (per the dev c
- https://learn.microsoft.com/windows/apps · https://learn.microsoft.com/windows/win32/winprog/windows-api · Windows hardware test https://learn.microsoft.com/windows-hardware/test
- Wine https://www.winehq.org · ReactOS https://www.reactos.org
- Q&A: https://stackoverflow.com · https://serverfault.com · https://superuser.com

## USB creators and multiboot tools (ideas only, no code copied)

Checked 2026-11-08 from each project's own page. Licenses marked "not stated" were not named on the page — check before borrowing anything beyond ideas.

- Ventoy: https://www.ventoy.net/en/index.html — copy ISO/WIM/IMG/VHD(x)/EFI files onto the stick and pick from a boot menu; BIOS, UEFI (incl. Secure Boot via key enrollment), ARM64; persistence; files over 4 GB; auto-install. Open source (GPL-3.0). Reference for the multiboot design.
- YUMI: https://pendrivelinux.com/yumi-multiboot-usb-creator/ — multiboot USB (Windows installers, Linux, rescue tools); YUMI Py (Windows + Linux, exFAT, persistence) and YUMI exFAT (Windows) both boot through Ventoy. Open source; license not stated.
- Universal USB Installer: https://pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ — ISO → bootable USB; Standard, GRUB2 and MEMDISK boot modes; persistence for some Linux distros; BIOS + UEFI. Open source; license not stated.
- XBOOT: https://pendrivelinux.com/xboot-multiboot-iso-usb-creator/ — drag-and-drop multiboot USB/ISO builder with GRUB or Syslinux and a built-in QEMU test. BIOS only (no UEFI/Secure Boot), FAT32 4 GB file limit, unmaintained since 2011. Design reference only; license not stated.
- LiveUSB Install: https://pendrivelinux.com/liveusb-install-live-usb-creator/ — Python live-Linux USB creator (dd-style write, editable syslinux.cfg, WinGrub mode); no persistence; no longer actively maintained. Open source; license not stated.
- balenaEtcher: https://github.com/balena-io/etcher (Apache-2.0) — image flasher built around safety (guards against writing to system drives) and verify-after-write. Reference for the target-safety and verification UX.
3 changes: 2 additions & 1 deletion docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ Not used, because they bypass console copy protection: PS3-Quick-Disc-Decryptor

- [x] Bootable USB writer, `usbwriter` crate, later shared with WinISOPilot. (M2 — built; physical-disk verification owed)
- [x] Windows installer layouts (from [windows2usb](https://github.com/ValdikSS/windows2usb), ideas only): MBR+FAT32 (default; BIOS, UEFI, Secure Boot), GPT+FAT32, GPT+NTFS; Microsoft's own boot files so Secure Boot stays intact. As built, FAT32 layouts refuse an `install.wim`/`.esd` over the 4 GB FAT32 limit with a clear message (splitting not implemented yet) — GPT+NTFS is the route for those images. (M2 — built; physical-disk verification owed)
- [ ] **Multiboot USB** (ideas from [MultiOS-USB](https://github.com/Mexit/MultiOS-USB), GPL-3.0, and [GLIM](https://github.com/thias/glim), public-domain configs): install a boot menu once, then copy any number of ISO/WIM files onto the stick and pick one at boot. Linux ISOs boot by GRUB loopback; WinPE/Windows setup from WIM/ISO; BIOS and UEFI; Secure Boot handled without asking users to disable it where possible; per-ISO boot options survive updates. Out of scope until the single-ISO writer is verified. (1.x)
- [ ] **Multiboot USB** (ideas from [MultiOS-USB](https://github.com/Mexit/MultiOS-USB), GPL-3.0, [GLIM](https://github.com/thias/glim), public-domain configs, and [Ventoy](https://www.ventoy.net/en/index.html), GPL-3.0; also [YUMI](https://pendrivelinux.com/yumi-multiboot-usb-creator/) and [XBOOT](https://pendrivelinux.com/xboot-multiboot-iso-usb-creator/) as UX references): install a boot menu once, then copy any number of ISO/WIM files onto the stick and pick one at boot. Linux ISOs boot by GRUB loopback; WinPE/Windows setup from WIM/ISO; BIOS and UEFI; Secure Boot handled without asking users to disable it where possible; per-ISO boot options survive updates. Out of scope until the single-ISO writer is verified. (1.x)
- [ ] UI reference for a modern, simple writer: [Lufus](https://github.com/Hogjects/Lufus) (MIT, Linux).
- [ ] Write-safety and verify-after-write UX reference: [balenaEtcher](https://github.com/balena-io/etcher) (Apache-2.0). Single-ISO writer references: [Universal USB Installer](https://pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/), [LiveUSB Install](https://pendrivelinux.com/liveusb-install-live-usb-creator/).

## 2.0: Windows ISO customization (WinISOPilot integration)

Expand Down
Loading