Changelog
What changed in each release of omaflake – the app, the omaf CLI and the files they read and write. The format follows Keep a Changelog; versions follow Semantic Versioning (before 1.0, a new minor version may break compatibility). Changes not yet released are collected under Unreleased. Releases: GitHub.
Unreleased
Fixed
- omaflake’s QEMU builds again (
nix build github:omaflake/omaflake#qemu): the libepoxy EGL 1.5 patch is now part of omaflake instead of a download from its Homebrew tap, whose release tag was moved – the hash check stopped every fresh build. The patch itself is unchanged.
0.2.0 – 2026-10-22
Alpha, unsigned. Update from 0.1.0: omaflake 0.1.0 cannot read the new official recipe catalog. Your images, VMs and settings are brought up to date automatically; recipes and catalogs of 0.1.0 still work.
Added
- Architectures. Recipes say what they can be built for (
systems = ["aarch64-linux", …]inrecipe.toml, named as Nix names systems); images and VMs record theirsystem. A recipe can carry a variant per architecture (<system>.nixnext todefault.nix). omaflake shows and builds only what runs on this computer – the app’s filter Other Architectures andomaf recipes --all-systemsshow the rest, marked with their architecture; creating, starting, upgrading or importing a VM of another architecture is refused. - File schemas. Every JSON file omaflake writes names its JSON Schema (
"$schema": "https://omaflake.dev/schema/<type>/v<n>.json"); editors can check and complete them. Older files are brought up to date when they are read, newer ones are refused instead of misread. - Recipe updates at a glance. After Refresh in the Recipes tab, newer versions of your downloaded recipes are listed – take them over, or add them next to the older ones when you keep older recipe versions.
- Compatibility. omaflake reads older files from a minimum version on and warns about VMs, images and recipes it cannot read (too old, or from a newer omaflake) instead of leaving them out.
- Developer documentation on omaflake.dev: writing recipes, CLI reference, design, file schemas, contributing, and this changelog.
Changed
- Recipe format (
recipe.tomlversion 1):"$schema" = "https://omaflake.dev/schema/recipe/v1.json"andsystems. Recipes without them (version 0) still build, for Apple silicon; new ones need them (tools/catalog.py). - Catalog format (
catalog.jsonversion 2) with$schemaandsystemsper recipe; version 1 catalogs still work. Sources of your own: updatetools/catalog.pyfrom omaflake/recipes when you want to publish recipes for other architectures. - The image flake builds
images.<system>.<recipe>(wasimages.<recipe>). .installed.jsonkeeps the installed recipes underrecipes; a macOS VM folder’sconfig.jsonand a package’smanifest.jsoncarry$schemainstead ofversion/format.
Migrating from 0.1.0
Nothing to do. Recipes downloaded with 0.1.0 keep working; Refresh in the Recipes tab shows their newer versions.
0.1.0 – 2026-10-19
First alpha, unsigned: NixOS guests on QEMU (3D with virglrenderer) and macOS guests on Virtualization.framework, from the menu bar app and the omaf CLI; images built from recipes, recipe sources (GitHub, HTTPS, local folders), portable VM, image and recipe packages, sound, microphone, clipboard, camera (NixOS) and shared folders, the Doctor, and an update check.