Repository navigation
BuildIso 2027.2 — Release Notes
Overview
BuildIso 2027.2 introduces a pipeline-driven ISO creation workflow with BIOS and UEFI boot support, file inventory and validation, SHA-256 integrity checks, ISO inspection and verification, optional QEMU boot testing, plugin management, and structured reporting.
This release also expands command-line controls, configuration profiles, preflight diagnostics, and output handling.
1. ISO Creation and Boot Support
- Added support for BIOS-only, UEFI-only, and hybrid BIOS + UEFI configurations.
- Added multi-entry El Torito boot catalog generation for hybrid BIOS/UEFI images.
- Added configurable El Torito boot entry priority through
--boot-priority(bios,uefi, orauto). - Added BIOS boot image validation and EFI System Partition image checks.
- Added checks for the presence of
EFI/BOOT/BOOTX64.EFIin the ISO source directory. - Added Secure Boot-related PE inspection, including Authenticode signature presence and target architecture checks.
- Added Joliet filesystem support for ISO creation and verification.
2. File Inventory and Scanning
- Added centralized file inventory management through
FileInventoryandFileTreeScanner. - Added repeatable file inclusion and exclusion filters with
--includeand--exclude. - Added glob pattern matching through
GlobMatcher. - Added symbolic-link and reparse-point handling during file scanning.
- Added ISO path sanitization and configurable name-collision handling through
--collision-policy(rename,fail, orskip). - Added configurable scanning and size limits:
--max-files— maximum number of files to scan.--max-file-size— maximum permitted size for an individual file.--max-depth— maximum directory traversal depth.--max-size— maximum permitted ISO size.
3. SHA-256 Integrity and Hash Cache
- Added SHA-256 hashing for source files and generated ISO images.
- Added
FileHasherandHashCachefor file hashing and reuse of cached hashes. - Added configurable hash cache location through
--cache <file>, used by--deep-verify. - Added
--expect-sha256 <hex>to fail validation when the final ISO hash does not match the expected SHA-256 value. - Added optional
MANIFEST.SHA256SUMSgeneration, containing file paths, sizes, and SHA-256 hashes.
4. ISO Inspection and Verification
- Added
IsoTools.Inspectfor displaying ISO information, directory and file counts, volume details, and boot catalog entries. - Added
IsoTools.VerifyandIsoVerifierfor ISO structure and boot catalog verification, including manifest checks when a manifest is available. - Added
--inspect <iso>to inspect an existing ISO. - Added
--verify-iso <iso>to verify an existing ISO and its manifest, if present. - Added
--deep-verifyto re-read files from the ISO and compare their contents with the corresponding source files. - Added
--checkto run diagnostics without building an ISO. - Added
--dry-runto simulate the ISO layout without writing the final image. - Added
--strictto treat warnings as build failures. - Added safe preflight remediation through
--fix-safe. Its automatic fixes are limited to creating a missing output directory and removing a stale temporary ISO file.
5. QEMU and UEFI Boot Testing
- Added optional ISO boot smoke testing through QEMU with
--boot-test. - Added custom QEMU executable selection through
--qemu <path>. - Added OVMF firmware selection through
--ovmf <path>for UEFI boot testing. - Added a configurable virtual-machine test timeout through
--boot-test-timeout.
6. Build Pipeline and Output Handling
- Added a structured
BuildPipelinewith the following stages:StepPreflightStepScanFilesStepValidateBootStepPredictSizeStepCheckDiskSpaceStepBuildIsoStepVerifyIsoStepBootTestStepWriteManifestStepWriteReadmeStepFinalize
- Added preflight diagnostics for output paths, directory permissions, temporary files, boot configuration, and other build requirements.
- Added output locking through
OutputLockHandle. - Added temporary ISO generation and output replacement handling.
- Added rollback support through
IsoBuilderService.Rollback(). - Added
--timeout <seconds>to limit the overall build duration. - Added
--no-overwriteto prevent replacement of an existing output ISO. - Added
--keep-backupto retain the previous ISO as a.bakfile after a successful build. - Added reproducible-build support through
--reproducible, including ISO timestamp normalization. - Added
--source-date-epoch <seconds>to specify the timestamp used by reproducible-build mode.
7. Configuration and Build Profiles
- Added JSON configuration loading through
ConfigFileLoaderand--config <file>. - Added named configuration profiles through
--profile:development— enables verbose output.release— enables manifest generation, deep verification, strict mode, and required plugin hash pins.reproducible— enables reproducible-build mode, manifest generation, deep verification, and disables plugins.ci— disables interactive prompts, spinner, and progress indicators, and enables manifest generation and strict mode.
- Added option validation and merging across command-line arguments, JSON configuration, and profile defaults.
8. Plugin System
- Added the
IBuildPlugininterface with build lifecycle and pipeline-step callbacks. - Added plugin discovery, loading, and management through
PluginManager. - Added plugin selection through
--plugin <name>and global plugin disabling through--plugins-off. - Added SHA-256 plugin hash pinning through
--plugin-hash <name>=<sha256>. - Added
--require-plugin-hashto refuse plugins without a configured hash pin. - Added
--plugin-strictto fail the build when a plugin callback fails. - Added configurable per-callback timeouts through
--plugin-timeout <seconds>.
9. Reports, Manifest, and Build Documentation
- Added build report output in JSON, JUnit, and SARIF formats through
--report-format. - Added report file path configuration through
--json-report <file>. - Added optional
MANIFEST.SHA256SUMSgeneration through--manifest. - Added automatic build documentation generation through
ReadmeGenerator, producingREADME_BUILDISO.txtin the ISO output directory during the normal build pipeline. - Added structured build reports through
BuildReportWriter, including build status, timing, file counts, ISO size, SHA-256 information, profile, and configuration details.
10. Additional Command-Line Controls
- Added configurable hashing parallelism through
--threads. - Added custom log file selection through
--log <file>and logging disablement through--no-log. - Added output and interaction controls:
--silent--verbose--no-prompt--no-spinner--no-progress
- Added dedicated exit codes for success, general errors, invalid arguments, preflight failures, validation failures, cancellation, and boot-test failures.
BuildIso 2027.2 brings ISO creation, boot configuration, file scanning, integrity verification, automation, plugin support, and reporting together in a single pipeline-driven command-line application.
Implementation note: Secure Boot-related checks inspect PE validity, Authenticode signature presence, and target architecture. They should not be interpreted as complete cryptographic certificate-chain or firmware trust validation.