ForgeZero 2.0 – v5.3.0
Release date: 2026-07-02
We are pleased to announce the immediate availability of ForgeZero 2.0 (core version 5.3.0). This release represents a significant milestone with substantial new functionality, performance improvements, and architectural refinements.
Major New Features
ISO Image Generation
The -iso flag now packages the built binary into a bootable ISO image. Options include -iso-out for custom output paths and -iso-hybrid for BIOS+UEFI support. Configuration options for ISO parameters are also available in the project config.
Self‑Update Rollback
The new --rollback flag restores the previous binary saved by -update. --rollback-to <version> allows installation of a specific release version, providing a safety net for upgrade scenarios.
Cache Modes (RAM / Disk / Off)
The build cache can now operate in three modes:
disk– default, persistent on‑disk caching in.fz_cache/ram– in‑memory only, faster for ephemeral buildsoff– completely disable caching
The cache_mode field in the configuration file controls this behaviour.
Inline Bash Scripts
Configuration scripts can now be prefixed with bash: to embed inline Bash code directly in .fz.yaml. When the system shell is unavailable, a minimal internal runner handles common commands.
Built‑in x86 Assembler
External NASM is no longer required. ForgeZero now includes an internal x86 assembler that handles .asm files, reducing external dependencies and simplifying setup.
Performance
Builds are now up to 39 times faster than Ninja on comparable workloads, according to internal benchmarks. This is achieved through a combination of improved concurrency, cache optimisations, and reduced overhead in the build pipeline.
Configuration & Core Improvements
-
The configuration subsystem (
internal/config) has been rewritten to support deterministic, low‑allocation merges. Environment variablesFZ_CONFIG_PATHandFZ_CONFIGare respected for explicit config paths. -
Concurrent loading of multiple config files reduces I/O latency on large projects.
-
Merging semantics are now clearly defined: strings override, slices concatenate with deduplication, maps merge with non‑empty overrides.
-
Validate()andfillDefaults()provide safer defaults and clearer error messages. -
The scheduler has been re‑implemented without external workerpool dependencies, using a simpler goroutine pool with improved error propagation and cancellation handling.
-
The watcher now correctly ignores
.fz_objsand.fz_cachedirectories recursively and includes fixes for the debounce timer.
Bug Fixes & Maintenance
- Removed unsafe memory operations in output formatting, replacing them with safe standard conversions.
- Corrected version output formatting – now displays "ForgeZero 2.0 (core v5.3.0)".
- Fixed a critical bug in configuration merging that caused unexpected overrides of source files and directories.
- Improved handling of hooks and scripts with better error reporting.
- Various test additions and refinements across the codebase.
Upgrade Notes
ForgeZero 2.0 is fully backward‑compatible with existing projects. Users are encouraged to update and take advantage of the new features. The -update command will upgrade to this release automatically.
For full details, please refer to the release notes on GitHub.
The ForgeZero team thanks all contributors and users for their continued support.
🔐 SHA-256 Checksums
302d38586928387ba4de845e25d6a934b4a1268ca67c533656f55586990062e4 fz-linux-amd64
dac2368a7fbdbf4c576c728812e6703ddc22d493b310ac948d924e930f8e032a fz-linux-arm64
db0cfeac04e412ed0e7466f9b2302da659bd4a5d47c041a30a43df4e123aab30 fz-windows-amd64.exe
5d9eb29d5db395d2fffbe603de463ef584ad18882b1938302497e12733a65f8b fz-darwin-amd64
cc3a7fb17770c357c19d3becc66b6e26902f60077962df63678ba9b30662d90e fz-darwin-arm64