v0.103.0
the language tightens
published 2026-07-13 · 5 assets
The pre-1.0 window pays for itself: three breaking cuts in one wave, spec and engine merged in the same window. command: is argv-only (execve, no shell: an interpolated value can never break out of its argument) and the string form moves to shell:, the explicit door; semantics ride the field, never the YAML type. A bare ${{ tasks.X }} is now an error (NIKA-VAR-020): name the projection (.output, .status, .error, .duration_ms); the envelope is not a value. And the gate algebra becomes a normative spec table: the when-status pattern is a propagation choice, not redundancy. The whole corpus migrated in lockstep: docs, site, editor, kit and registry re-taught the same day.
the artifacts
5 assets, each with its recorded digest
The sha256 beside each artifact is the digest GitHub recorded when the release train uploaded it: re-derivable by anyone, fabricated by no one. Verify a download against it, or against the SHA256SUMS asset the train signs.
- nika-linux-arm64-0.103.0.tar.gz10.0 MB · sha256 4bfa361677711d5e…
- nika-linux-x64-0.103.0.tar.gz10.8 MB · sha256 aa360bebd73ef090…
- nika-macos-arm64-0.103.0.tar.gz9.5 MB · sha256 6335cffc22328d54…
- nika-macos-x64-0.103.0.tar.gz10.6 MB · sha256 1486f0df0d7cb8a1…
- SHA256SUMS1 KB · sha256 fd6ae0377c13e227…
vendored from the public release record · re-vendored at the train cadence